Accessibility
This is the accessibility record for gabrimatic.info. Every public surface conforms to WCAG 2.2 Level AA. This page is the proof: what it covers, and the checks that back it.
Level AA is the conformance bar accessibility laws point to, and all ten surfaces meet it: verified before each release with a screen reader, the keyboard, and automated tooling. The results are below.
Conformance
All ten surfaces are built and verified to conform to WCAG 2.2 Level AA: the seven site routes and the three static pages listed under Surfaces. The checks run before every release.
| Item | Value |
|---|---|
| Standard | WCAG 2.2 |
| Conformance level | AA |
| Scope | All ten public surfaces |
| Basis | Automated tooling and manual assistive-technology testing |
What is adapted
The resting design is the same for everyone. These adaptations turn on with your input device or your system settings, no separate mode to find.
- Keyboard
- Everything works from the keyboard alone, in a logical order, with a focus outline that stays visible. A skip link is the first stop on every page. Custom controls answer to Enter and Space, and every control is at least 44×44 pixels.
- Screen readers
- Each page exposes navigation, main, and footer landmarks, one page-title heading, and section headings in reading order. Links carry their real destination. Decorative motion, background icons, and repeated tooltips stay out of the reading order. Moving between pages moves focus and announces the new page.
- Zoom and text size
- Browser pinch-and-zoom stays enabled up to 500%. Every page still works at 200% text on a small phone, with nothing clipped, overlapped, or trapped off-screen.
- Reduced motion
- Entrance and hover animation follows your system “reduce motion” setting. With it on, movement is dropped rather than merely shortened, and the network splash renders as a static frame.
- Contrast and transparency
- Body text meets AA contrast. When you ask your system for more contrast or less transparency, the frosted-glass panels become solid so nothing depends on the blur behind them.
- Live updates
- Loading, empty, error, and retry states are announced once through polite live regions, without chattering on decorative changes.
Surfaces
Ten public surfaces are in scope. Seven are Flutter routes; three are static HTML pages that mirror the same visual language.
| Surface | What it guarantees |
|---|---|
/ | One identity heading, a described profile image, and keyboard-reachable links with real destinations. |
/journey | One page heading, then one heading per timeline entry, in the same order the eye reads them. |
/interests | One page heading and four always-present chapters. Continuous reading, not a tab strip. |
/opensource | Section headings, real repository links, keyboard-operable cards, and announced loading, empty, and error states. |
/definition | One page heading, a clear back-to-home link, and selectable prose read as static text. |
/accessibility | This record as an app route. One page heading, a table of contents, and keyboard-operable rows. |
/agents | The agent directory as an app route. One page heading, section headings, and keyboard-operable links. |
/agents.html | Skip link, landmarks, logical headings, visible focus, and useful link names. |
/accessibility.html | This page. Skip link, landmarks, logical headings, and visible keyboard focus. |
/404.html | Skip link, a named primary action, and an accessible-contrast button. |
How it is checked
Every surface is checked two ways before each release: with automated accessibility tools, and by hand with real assistive technology.
The automated tools flag the mechanical failures: a missing landmark or heading, an unreachable skip link, low-contrast text, a lost focus outline, layout that breaks at 200% text. The manual pass covers what a tool cannot judge: keyboard-only navigation, a screen-reader pass, and a look at 200% text, reduced motion, and high contrast, on every surface. The results:
- 100 / 100Lighthouse accessibility, static pages
- 0 violationsaxe-core on the static pages, WCAG 2.0-2.2 A/AA
- PassKeyboard and screen reader, every surface
How semantics work
gabrimatic.info is built in Flutter. Alongside the visual interface, the framework builds a full accessibility tree for assistive technology. When a screen reader is running, it reads every heading, landmark, link, and label on the page: the same structure a hand-written HTML page exposes.
The screen-reader pass before each release walks that tree directly, so what assistive technology reads is verified first-hand.