Accessibility

The site should meet WCAG 2.2 AA and make civics information usable for as many people as possible.

Keyboard access

Keyboard access comes first.

Full keyboard navigation

Pages, forms, links, and navigation should remain usable without a mouse. Every interactive element — buttons, inputs, dropdowns, search results, and the corrections form — can be reached and operated using Tab, Enter, Space, and Escape.

Visible focus states

Focus rings are visible on all interactive elements. The skip link appears when focused. Navigation triggers show focus outlines. Form inputs show a clear focus border with a secondary outline for high visibility.

Skip to content

A skip link is the first focusable element on every page. Pressing Tab from the top of the page reveals it, and activating it jumps focus directly to the main content area.

No keyboard traps

Dropdowns, mobile navigation, expandable sections, and form interactions do not trap focus. Users can always Tab out of any component or use Escape to close overlays.

Page structure

Structure should help readers orient quickly.

Semantic headings

Each page has exactly one h1. Section headings use h2, card titles use h3, and metadata labels use styled spans or dt elements. Heading levels do not skip. Screen reader users can navigate by heading to find content quickly.

Landmarks and labels

The header is labeled as primary navigation. The main content area has an id that the skip link targets. The footer is a semantic footer landmark. Form fields have visible label text associated with their inputs.

Predictable section order

Pages follow a consistent pattern: page title, intro, primary content, secondary content, and trust/correction links. Readers can predict where to find information across different page types.

Reading order

Content flows in a logical reading order without CSS. Source metadata, trust notes, and citation panels appear in normal reading order, not hidden behind hover interactions or tab panels.

Color and contrast

Meaning should not depend on color alone.

Text plus color

Status badges, trust labels, and warnings use text as well as color. A reader can understand whether something is current, limited, or unavailable without relying on color perception. For example, source freshness shows both a colored badge and a text label like "Current" or "Incomplete."

Contrast ratios

Body text uses near-black ink (#15181f) on white surfaces for high contrast. Muted text uses a darker gray (#3d4452) that remains readable. Accent colors meet WCAG AA contrast requirements for text of their respective sizes.

Layer color coding

Government layers (local, state, federal, territory) use distinct colors, but each layer also has a text label. The color system helps scannability without being the only way to distinguish layers.

Link visibility

Links use a civic-blue accent color with text decoration. Links are distinguishable from surrounding text by both color and underline, not color alone.

Motion and readability

Motion and readability should stay calm.

Reduced motion support

The site respects prefers-reduced-motion. When a user has reduced motion enabled, smooth scrolling is disabled, animations are effectively instant, and transitions do not create movement that could cause discomfort.

Readable typography

Body text uses Public Sans at 16px with 1.6 line height. Headings use Libre Bodoni for editorial distinction. Text measure is capped at approximately 65 characters for learning content to reduce eye strain during long reading sessions.

No auto-playing media

The site does not auto-play audio, video, or animations. No content moves, blinks, or scrolls automatically. Interactive elements respond only to user action.

Spacing and breathing room

Generous spacing between sections, cards, and form fields helps readers with cognitive differences scan and process content. The spacing scale follows a consistent 4/8/16/24/32/48/64px system.

Trust panels

Source and citation panels should stay readable.

Screen reader access

Source owner, timestamps, trust warnings, and citations use semantic description lists (dl, dt, dd) so assistive technology can read them in context. Trust notes are not hidden behind hover-only interactions.

AI output readability

AI-generated explanations use semantic headings for each required section. Citations are exposed as standard links. The AI disclosure banner uses a role="note" so screen readers can identify it as an important annotation.

Mobile

Mobile accessibility matters for civic access.

Touch targets

Buttons, links, and form controls meet the 44x44 CSS pixel minimum touch target size. Navigation items, search buttons, and form submit controls are all at least 2.75rem (44px) tall.

Responsive layout

Grid layouts collapse to single columns on mobile. Text remains readable without horizontal scrolling. Trust metadata does not collapse into an unreadable block on small screens.

Known limitations

What is still being improved.

No formal WCAG audit yet

The site implements WCAG 2.2 AA patterns but has not yet undergone a formal third-party audit. Automated axe-core and Lighthouse accessibility checks are planned before launch. Manual keyboard testing has been done on core flows but not exhaustively across all routes.

Dynamic content updates

Search results and explainer output update dynamically via JavaScript. These updates use aria-live regions to announce status changes, but complex dynamic content may need additional ARIA testing for screen reader compatibility.

Ollama plain-English summary

Explain this bill

The response will stay grounded in the bill's official summary and source packet.

Choose a bill to begin.

Preparing impact analysis

Reading the official bill record and asking Ollama who may be affected. This can take up to a minute.

Loading page

Fetching the next screen. Official bill pages can take a few seconds.