Make the web usable for everyone: semantics, keyboard, and assistive tech.
Make the web usable for everyone: semantics, keyboard, and assistive tech.
Accessibility (a11y) ensures people with disabilities can perceive, operate, and understand your site. That includes screen reader users, keyboard-only users, and people who need sufficient contrast or reduced motion.
Good a11y also improves SEO, usability on mobile, and resilience when scripts or styles fail. In many jurisdictions it is required by law (e.g. WCAG, ADA).
Use the right element: button for actions, a for links, label with input, header, main, nav, article. Screen readers and keyboards rely on this structure to navigate and announce content.
When the native element is not enough (e.g. a custom widget), ARIA (aria-label, aria-describedby, role) exposes meaning to assistive tech. Use ARIA to supplement, not replace, semantics. Prefer native HTML whenever it can do the job.
Quick checklist
Every interactive element must be reachable with Tab and operable with Enter, Space, or Escape. Do not rely on hover or mouse-only interactions for critical actions.
When you open modals or inject content dynamically, manage focus: move focus into the new content and trap it there until the user dismisses; when they close, return focus to the trigger. Otherwise focus is lost or stuck. [MDN – Accessibility](https://developer.mozilla.org/en-US/docs/Learn_web_development/Getting_started).
Key takeaways
Related concepts
Explore topics that connect to this one.
Ready to see how this works in the cloud?
Switch to Career Paths for structured paths (e.g. Developer, DevOps) and provider-specific lessons.
View role-based pathsSign in to track your progress and mark lessons complete.
Questions? Discuss in the community or start a thread below.
Join DiscordSign in to start or join a thread.