Aman-Mittal opened a new issue, #746: URL: https://github.com/apache/fineract-backoffice-ui/issues/746
## What happens On any authenticated screen, focus order goes through the header controls (sidebar toggle, search, theme, Guide, language, Logout) and then **every sidebar link** before reaching `<main>`. Measured on `/clients` at 1440×900 by pressing Tab from the top of the document until `document.activeElement` was inside `main`: ``` tabsToMain: 105 ``` There's no skip link (`a[href="#main"]`, `.skip-link` or similar) anywhere in the layout. The sidebar has around 115 entries across 19 groups and is fully expanded on desktop, so this cost applies on every page load and every route change. That fails **WCAG 2.4.1 Bypass Blocks (Level A)**. For staff who work keyboard-first, which is common in back-office data entry, every route change means more than 100 key presses or a mouse. The focus indicators themselves are fine: header buttons and nav links all showed a visible outline during the sweep. ## Suggested fix In `MainLayoutComponent`: - Add a visually hidden, focus-revealed **"Skip to main content"** link as the first focusable element, targeting `<main id="main-content" tabindex="-1">`. - After router navigation, move focus to `main` (or its heading), so a route change doesn't drop the keyboard user back at the top of the sidebar. ## Regression test A Playwright check: load a protected route, press Tab once, assert the focused element is the skip link; press Enter, assert focus is inside `main`. ## Tested against Deployed build of `main` (https://aman-mittal.github.io/fineract-backoffice-ui), Chrome 1440×900, 2026-10-16. -- 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]
