← Back to Curriculum

Accessibility and Best Practices

📚 Lesson 11 of 20 ⏱ 20 min

Accessibility and Best Practices

20 min

Web accessibility ensures that websites and web applications are usable by everyone, including people with disabilities. Accessibility is not optional—it's a legal requirement in many jurisdictions and a moral imperative that makes the web inclusive. Accessible websites benefit all users, not just those with disabilities, by providing clearer structure, better navigation, and more robust functionality.

Semantic HTML is the foundation of accessibility. Using proper HTML elements (<header>, <nav>, <main>, <section>, <article>, etc.) provides structure that screen readers and assistive technologies can understand. Semantic elements create landmarks that users can navigate, making content more findable and understandable. Avoid using <div> and <span> when semantic alternatives exist—semantic HTML is self-documenting and accessible by default.

Images require descriptive alt text that conveys the same information the image provides. Decorative images should have empty alt text (`alt=""`), while informative images need descriptive alt text. Alt text should be concise but complete, describing the image's content or function. Avoid redundant phrases like "image of" or "picture of"—screen readers announce images automatically. Charts and graphs may need longer descriptions or data tables for full accessibility.

Keyboard navigation is essential—all interactive elements must be accessible via keyboard, not just mouse. Users should be able to tab through all interactive elements in a logical order, see clear focus indicators, and activate elements using keyboard shortcuts. Ensure sufficient color contrast (WCAG AA requires 4.5:1 for normal text, 3:1 for large text), and never rely solely on color to convey information. Provide text alternatives for color-coded information.

ARIA (Accessible Rich Internet Applications) attributes supplement HTML when semantic elements aren't sufficient. ARIA roles describe element functions, ARIA states and properties provide additional information, and ARIA labels and descriptions offer text alternatives. However, prefer semantic HTML over ARIA when possible—semantic HTML is simpler and more reliable. Use ARIA to enhance, not replace, semantic HTML. Common ARIA attributes include `role`, `aria-label`, `aria-labelledby`, `aria-describedby`, and `aria-hidden`.

Testing accessibility is crucial. Test with screen readers (NVDA, JAWS, VoiceOver), navigate using only keyboard, check color contrast with tools, validate HTML structure, and test with real users when possible. Accessibility is an ongoing process, not a one-time check. Following WCAG (Web Content Accessibility Guidelines) ensures your content meets international accessibility standards. Accessible websites are better websites for everyone.

Key Concepts

  • Accessibility ensures websites are usable by people with disabilities.
  • Semantic HTML provides structure that assistive technologies understand.
  • Images require descriptive alt text (or empty alt for decorative images).
  • Keyboard navigation must work for all interactive elements.
  • ARIA attributes supplement HTML when semantic elements aren't sufficient.

Learning Objectives

Master

  • Understanding web accessibility principles and requirements
  • Using semantic HTML for accessible document structure
  • Providing proper alt text for images
  • Ensuring keyboard accessibility and proper focus management

Develop

  • Inclusive design thinking and accessibility awareness
  • Understanding assistive technologies and user needs
  • Creating websites usable by everyone

Tips

  • Use semantic HTML elements instead of generic <div> elements.
  • Always provide alt text for images—descriptive for informative, empty for decorative.
  • Test your site using only keyboard navigation.
  • Ensure sufficient color contrast and don't rely solely on color.

Common Pitfalls

  • Using <div> and <span> when semantic elements would be more appropriate.
  • Forgetting alt text or using unhelpful alt text like 'image'.
  • Creating keyboard traps or missing focus indicators.
  • Relying on color alone to convey information.

Summary

  • Accessibility ensures websites are usable by everyone.
  • Semantic HTML is the foundation of accessible web content.
  • Images require appropriate alt text for accessibility.
  • Keyboard navigation must work for all interactive elements.
  • Testing with assistive technologies is essential for accessibility.
📚

No exercise for this lesson

Focus on the concepts and continue to the next lesson when you're ready.

đŸ’» Try Code Editor