Non-functional requirements · Usable by everyone, everywhere
Accessibility and compatibility-style app
Illustrative system design for a usable by everyone, everywhere app like Accessibility and compatibility: 4 topics to read, from requirements to deep dives.
Illustrative design, not Accessibility and compatibility’s actual implementation. Arrowbox is not affiliated with Accessibility and compatibility’s owner. Disclaimer
Start with Semantics Read for freeUpdated 2 Oct 2026
Core
Assistive technology does not see pixels; it reads an accessibility tree the browser builds from HTML. Every control needs a role, an accessible name and its state, and native elements give you all three for free.
Everything a mouse can do, a keyboard must do too. Tab moves between widgets, arrow keys move inside one, focus is always visible, and when the UI changes the code decides where focus goes next.
When content changes without a page load, screen-reader users need it announced, politely or urgently. And the UI must adapt to what users have asked their system for: less motion, more contrast, bigger text, larger targets.
A support policy says which browsers and devices must work fully, which may degrade, and which are out. Progressive enhancement and feature detection let one codebase honour it across screen sizes, input types and engine versions.