Aman-Mittal opened a new issue, #613:
URL: https://github.com/apache/fineract-backoffice-ui/issues/613

   #587 is closed, and the status pills and table links it covered are 
genuinely fixed — I re-measured them on the deployed build and they pass. The 
button half did not ship. It was fixed and then reverted inside PR #601 itself.
   
   ## What happened
   
   `6f40cfc5` (Sep 23) mapped the Ionic primary token to the accessible shade:
   
   ```scss
   /* Primary — #2471a3 (passes WCAG AA with white text at 5.30:1) */
   --ion-color-primary: var(--primary-strong, #2471a3);
   --ion-color-primary-rgb: 36, 113, 163;
   ```
   
   `f8fcb45b` (Sep 26), *"restore ionic primary token mapping and simplify 
branding validation"*, on the same branch, put it back:
   
   ```scss
   /* Primary — #3498db */
   --ion-color-primary: var(--primary-color, #3498db);
   --ion-color-primary-rgb: 52, 152, 219;
   ```
   
   The comment recording the 5.30:1 measurement went with it, and the 
accessible `--ion-color-tertiary` block (`#1b4f72`, 8.64:1) was deleted 
outright.
   
   `#3498db` with `--ion-color-primary-contrast: #ffffff` is **3.15:1**. Button 
labels are 14px/500, so 1.4.3 asks 4.5:1.
   
   ## Measured on the deployed build (`c7a34a87`, light mode)
   
   11 text buttons fail. Every one is the primary call to action on its screen:
   
   | Route | Button | Ratio |
   |---|---|---|
   | `/clients` | Create Client | 3.15 |
   | `/loans` | Create Loan Account | 3.15 |
   | `/groups` | Create Group | 3.15 |
   | `/centers` | Create Center | 3.15 |
   | `/accounting/journal-entries` | Add Journal Entry | 3.15 |
   | `/organization/offices` | Create Office | 3.15 |
   | `/security/users` | Create User | 3.15 |
   | `/security/roles` | Create Role | 3.15 |
   | `/notifications` | Mark All Read | 3.15 |
   | `/system/bulk-import` | Upload CSV | 3.15 |
   | `/system/bulk-import` | Download Template (outline) | 3.15 |
   
   ![create 
button](https://raw.githubusercontent.com/Aman-Mittal/fineract-backoffice-ui/ux-audit-screens-2026-09-21/screens/light-create-button-3-15.jpeg)
   
   ## Scope, stated precisely
   
   Icon-only buttons are **not** included above. 42 of them also compute to 
3.15:1, but as non-text controls they are governed by 1.4.11 at 3:1, which they 
pass. No icon-only button measured below 3:1. 11 is the count of genuine 1.4.3 
failures.
   
   Disabled buttons are excluded too — 1.4.3 exempts them.
   
   ## The fix already exists in the codebase
   
   `--primary-strong` (`#2471a3`) is still defined and still used. The Guide 
button renders with it and measures **5.30:1** — it is the one primary-styled 
button on these screens that passes. So the accessible value is present and 
proven; only the Ionic token mapping points at the wrong one.
   
   Reapplying `6f40cfc5`'s two-line change to `src/styles/_ionic-theme.scss` 
fixes all 11 at once.
   
   Whatever `f8fcb45b` needed for branding validation is worth solving without 
reverting the token — a test that asserts the shipped primary clears 4.5:1 
against white would have caught this before merge, and would stop it recurring.
   
   ## Dark mode
   
   Clean. I swept 20 routes in dark and found no contrast failures — #575 and 
#584 both hold up. This is light-mode only.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to