feat(a11y): skip-link (#75), FAB login-card relocation (#178), reading mode (#83) #185

Merged
jmiller merged 3 commits from feature/fab-a11y-mokoai-parity into dev 2026-07-21 21:30:48 +00:00
Owner

Accessibility + theme-FAB stack → dev for a pre-release test build.

#75 — Skip navigation link (WCAG 2.4.1)

Added a "Skip to content" anchor as the first focusable element (targets #maincontent) and fixed the broken .skip-l ink:focus selector typo.

#178 — Theme-FAB + a11y toolbar MokoAI parity

MokoOnyx already matched MokoAI's vendored widget (inline toggle, floating panel, tap-outside, theme-aware #1565c0/#42a5f5). The one delta — relocating the FAB into the login card as a flush bottom bar — is ported and Joomla-adapted (body.view-login, MutationObserver, .in-card).

#83 — Reading mode toggle

New a11y toolbar switch: hides sidebars/TOC, narrows content to ~72ch, relaxes typography (cognitive-accessibility / dyslexia). Param a11y_reading_mode, localStorage-persisted, en-GB/en-US strings.

Testing plans: in comments on #75, #178, #83.
Validated: JS node --check, manifest XML, changelog. Merging to dev cuts a development pre-release for the test pass.

Accessibility + theme-FAB stack → **dev** for a pre-release test build. ### #75 — Skip navigation link (WCAG 2.4.1) Added a "Skip to content" anchor as the first focusable element (targets `#maincontent`) and fixed the broken `.skip-l ink:focus` selector typo. ### #178 — Theme-FAB + a11y toolbar MokoAI parity MokoOnyx already matched MokoAI's vendored widget (inline toggle, floating panel, tap-outside, theme-aware `#1565c0`/`#42a5f5`). The one delta — relocating the FAB into the login card as a flush bottom bar — is ported and Joomla-adapted (`body.view-login`, `MutationObserver`, `.in-card`). ### #83 — Reading mode toggle New a11y toolbar switch: hides sidebars/TOC, narrows content to ~72ch, relaxes typography (cognitive-accessibility / dyslexia). Param `a11y_reading_mode`, `localStorage`-persisted, en-GB/en-US strings. **Testing plans:** in comments on #75, #178, #83. Validated: JS `node --check`, manifest XML, changelog. Merging to `dev` cuts a `development` pre-release for the test pass.
jmiller added 3 commits 2026-07-21 21:29:58 +00:00
Main template had no skip link (only offline.php did) and the focus rule had a
stray space ('.skip-l ink:focus') that disabled the on-focus reveal. Add a
'Skip to content' anchor as the first focusable element targeting #maincontent
and fix the focus style. WCAG 2.4.1 Bypass Blocks.
MokoOnyx already matched MokoAI's vendored widget (inline a11y toggle, floating
panel, tap-outside close, theme-aware toggle colors #1565c0/#42a5f5). The one
refinement MokoAI added beyond the vendored JS was moving the FAB into the login
card as a flush bottom bar. Port it, adapted to Joomla's com_users login view:
relocateFabToLoginCard() moves #mokoThemeFab into the login container on
body.view-login (MutationObserver for late render) + .in-card CSS.
feat(#83): add Reading mode toggle to accessibility toolbar
Universal: Auto Version Bump / Version Bump (push) Successful in 20s
Generic: Project CI / Lint & Validate (pull_request) Successful in 21s
Generic: Project CI / Tests (pull_request) Failing after 12s
Joomla: Extension CI / Release Readiness Check (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 13s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 10s
Universal: PR Check / Validate PR (pull_request) Successful in 16s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Joomla: Extension CI / Build RC Pre-Release (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
55b4213625
New a11y toolbar switch that strips sidebars/TOC, narrows content to ~72ch, and
relaxes line-height/letter/word spacing for cognitive-accessibility / dyslexia.
Follows the existing a11y-option pattern: a11y_reading_mode param + data-a11y-reading
body attr + applyReadingMode() (html.a11y-reading-mode class) + localStorage pref +
language strings (en-GB/en-US).
jmiller force-pushed feature/fab-a11y-mokoai-parity from 028e765257 to 55b4213625 2026-07-21 21:29:58 +00:00 Compare
jmiller merged commit 93ed612dea into dev 2026-07-21 21:30:48 +00:00
jmiller deleted branch feature/fab-a11y-mokoai-parity 2026-07-21 21:30:51 +00:00
Sign in to join this conversation.
No Reviewers
No labels
Priority -
Type -
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoOnyx#185