Guidelines on this page will help you make your sites more accessible for keyboard navigation and screen readers.

Aside from accessibility features that has been built into Foundation's components, this guide will give you additional best practices towards making your site more accessible. This is a living document and will continue to be updated.

Care about accessibility or want to contribute? Submit a Pull Request or get into the conversation on GitHub.

Basic Concepts - Overview

  • Images should have text alternative for images. Captions or transcripts should be provided for video and audio. Sufficient color contrast between text and background is important for people with vision impairment or color blindness.
  • Sites should be navigatable using only a keyboard, providing meaningful hyperlinks, and allowing enough time for users to complete a task.
  • Make content readable and provide predictable functionality.
  • Maximizing compatibility with current and future tools (web browsers, assistive technologies, etc.).

Keyboard Access

The most common impairments for web users are those with problems seeing, hearing or a physical inability to use a mouse. For that reason, the site must be navigatable by keyboard. Most commonly the tab key is used to tab through the content. For a vision impaired person will have a screenreader installed that reads the content out loud. We used Chromevox to test with. You can find a list of popular screen readers below in the resource list.

How to Test a Website’s Keyboard Accessibility

On a desktop or laptop in Firefox, IE, Chrome, or Safari, click into the browser address bar.

Take your hand off your mouse and use only your keyboard. Using the Tab button, navigate until you’ve reached the link below. (You can use Shift+Tab to navigate back one step.)

  • Right arrow: Next navigation bar item
  • Left arrow: Previous navigation bar item
  • Enter: Activate currently focused item (i.e. navigate to corresponding URL)

Skip Navigation

Give the person the ability to skip the navigation at the top of the page. If you have menu with 40 links, you can imagine how long it would take someone to tab through all that. Here's one way to do it:

<div id="skip"><a href="#content">Skip to Main Content</a></div>
#skip a { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; } #skip a:focus { position:static; width:auto; height:auto; }

Note: A person who can see may be slightly confused that their focus is off screen. This is a minor compromise for this method.

Nested Headings

When nesting headings <h1> - <h6>, your primary document header should be an <h1>. Subsequent headings should make logical use of <h2> - <h6> such that screen readers can construct a table of contents for your pages.

Learn More

Stay on top of what’s happening in responsive design.

Sign up to receive monthly Responsive Reading highlights. Read Last Month's Edition »