Accessibility
What Topicary published sites support for accessibility, and known limitations.
Topicary published sites implement many WCAG (Web Content Accessibility Guidelines) 2.1 Level A and AA techniques, including semantic landmarks, ARIA (Accessible Rich Internet Applications) roles, sufficient color contrast, and touch target sizing. However, the sites have not undergone a formal third-party WCAG conformance audit. The features below describe what is currently implemented, not a certified conformance level.
Semantic HTML
Published sites use semantic HTML5 elements:
Element | Usage | WCAG Benefit |
|---|---|---|
| Sidebar navigation | Landmark navigation for screen readers |
| Primary content area | Skip-to-content landmark |
| Page content | Distinct content region |
| Table of contents and sidebar | Complementary landmark |
This structure allows screen readers to navigate between page regions using landmark shortcuts.
ARIA attributes
Interactive components include ARIA attributes for assistive technology:
Component | ARIA Implementation |
|---|---|
Search |
|
Dark mode toggle |
|
Feedback widget | Buttons have |
AI chat widget | Chat container uses |
Navigation | Active page uses |
Code group tabs | Tabs use |
Skip to content
Each page starts with a Skip to content link, hidden until it receives keyboard focus. Pressing Tab as the page loads reveals it; activating it jumps focus past the sidebar navigation to the <main> content region, so keyboard and screen reader users can bypass the repeated navigation.
Keyboard navigation
Shortcut | Action |
|---|---|
Tab (on load) | Reveals the "Skip to content" link |
Cmd+K / Ctrl+K | Focuses the search input from anywhere on the page |
Enter / Space | Activates code copy buttons and code group tabs |
Type to filter | Search combobox supports typing to filter, with arrow key navigation (implied by combobox role) |
Tab | Navigate between heading links in the table of contents (standard anchor links) |
Dark mode
Dark mode uses Tailwind's .dark class variant. The reader's preference is stored in the browser and applied before the page renders, preventing a flash of the wrong theme. Both light and dark themes provide sufficient text contrast using predefined color scales designed for sufficient contrast.
Touch targets
All interactive elements (buttons, links, navigation items) have a minimum height of 44px, following Apple's Human Interface Guidelines for touch target sizing.
Tables
Tables that exceed the viewport width scroll horizontally instead of breaking the page layout. On iOS, momentum scrolling (-webkit-overflow-scrolling: touch) provides a native feel.
Language declaration
Published pages carry a lang attribute set from the site's locale (defaulting to en), so screen readers can select the correct pronunciation and voice.
Reduced motion
Animations and transitions respect the prefers-reduced-motion: reduce media query. When a reader has reduced motion enabled in their operating system, sidebar transitions, scroll animations, and other motion are neutralized.
Color usage
Status feedback (such as the feedback widget confirmation) uses text labels alongside color, not color alone. Diff views in the editor use color plus text indicators (+, −, ~) to distinguish added, removed, and modified content.
WCAG techniques summary
WCAG Technique | Implementation | Status |
|---|---|---|
Semantic landmarks (1.3.1) |
| Implemented |
ARIA roles and states (4.1.2) | Combobox, listbox, live regions, pressed states | Implemented |
Keyboard accessible (2.1.1) | All interactive elements reachable through keyboard | Implemented |
Color not sole indicator (1.4.1) | Text labels alongside color for status feedback | Implemented |
Sufficient contrast (1.4.3) | Tailwind gray/prose scales in light and dark modes | Implemented |
Target size (2.5.5) | 44px minimum touch targets | Implemented |
Language of page (3.1.1) |
| Implemented |
Bypass blocks (2.4.1) | Skip-to-content link before the navigation | Implemented |
Reduced motion (2.3.3) |
| Implemented |
Known limitations
No formal WCAG conformance claim: the features listed above are implemented but have not been audited against a specific WCAG conformance level.
langon the content wrapper, not<html>: the language is declared on the main content wrapper rather than the document root. It informs assistive technology but is not placed on the<html>element.
See also
Published site features: full list of navigation, search, and display features covered by accessibility support
Keyboard shortcuts: editor and workspace shortcuts that complement published site keyboard navigation
Add custom CSS: use custom CSS to further improve contrast, spacing, or touch target sizing