Accessibility

The accessibility checks and reminders I use while building.

Accessibility Site Standard

Accessibility Approach

This project treats accessibility as part of the interface architecture. Native HTML semantics are preferred first, with ARIA used only when it adds information that native elements do not provide.

The site is designed around keyboard access, visible focus states, descriptive table relationships, responsive reflow, reduced-motion preferences, readable color contrast, light and dark themes, and clear navigation landmarks.

Semantic HTML and ARIA

Start with native HTML elements that already communicate meaning and behavior. Add ARIA only when the interface needs semantics, relationships, or states that HTML does not provide on its own.

Keyboard Access and Focus

Interactive controls should be reachable and usable without a mouse, with a visible focus state that makes the user's current position clear.

Forms and Accessible Names

Form controls need clear names and instructions so their purpose can be understood visually and by assistive technology.

Images and Alternative Text

Alternative text should communicate the purpose of meaningful images without repeating information that is already available nearby.

Color and Contrast

Text, controls, focus states, and other meaningful interface elements should remain readable and distinguishable across the site's themes and states.

Reduced Motion

Respect the user's motion preference by reducing nonessential animations and transitions without removing information or functionality.

Use prefers-reduced-motion to remove or reduce nonessential movement while preserving the information and functionality the interface provides.

Responsive Reflow

Content should reflow and remain readable and usable as the viewport or text size changes instead of depending on a fixed screen size or orientation.

Accessible Tables

Data tables should communicate the relationships between their headings and values so the information remains understandable when it is read with assistive technology.

Live Regions

Dynamic interface updates sometimes need to be announced when they happen without moving keyboard focus away from what the user is doing.

An aria-live="polite" region can communicate non-urgent updates, such as changing search result counts, while allowing the user's current interaction to continue.

Site Accessibility Features

Accessibility Feedback

If you encounter an accessibility problem, please use the portfolio link in the site header or footer to contact me and include the page and feature involved.