Skip to contentAltstamp
Menu

Focus order checklist

Put the mouse aside and walk one page of your site with the Tab key, one step at a time. Each step says what to press, what a pass looks like and which WCAG criterion it tests; you mark it Pass or Fail, add a note, write down the order the focus took, and print or copy the record for whoever fixes the site.

Line drawing of page blocks on a monitor joined by a dotted path, one block ringed in orange

What WCAG asks

  • 2.1.1KeyboardA
  • 2.1.2No Keyboard TrapA
  • 2.4.1Bypass BlocksA
  • 2.4.3Focus OrderA
  • 2.4.7Focus VisibleAA
  • 2.4.11Focus Not Obscured (Minimum)AA

What it checks

This is a manual test, done by you, with the keyboard you already own. It checks the things a keyboard user meets first: where the first Tab lands, whether there is a way past the menu, whether every control can be reached, whether the order makes sense, whether you can always see where you are, and whether anything holds focus prisoner. It does not scan your site and it sends nothing anywhere.

An automated checker is good at things in the code, such as a link with no text. Whether the order of stops makes sense, and whether you can see the ring on a busy photo, are questions a person answers by looking. That is why a walk like this sits beside a scan, never under it; our comparison of accessibility testing tools covers the scanning half.

Try it on this page first

Click the address bar and press Tab. The first stop is the "Skip to content" chip at the top left, which is always on show, wearing a thick orange ring. Press Enter and the next Tab skips the menu and lands on the breadcrumb above the title. The bar at the top stays put as you scroll on a wide screen, so the page keeps a strip of space under it to stop a focused item sliding out of sight. That is what a pass looks like for steps 1, 2, 5 and 6.

What WCAG asks

What WCAG asks: 2.4.3 Focus Order, Level A

If a web page can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability.

What WCAG asks: 2.4.7 Focus Visible, Level AA

Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.

The six WCAG 2.2 criteria this walk covers
CriterionWhat it asks
2.1.1 KeyboardAEverything on the page works from a keyboard.
2.1.2 No Keyboard TrapAIf focus can get into a part of the page, it can get out again by keyboard.
2.4.1 Bypass BlocksAThere is a way to skip blocks repeated on every page, such as the menu.
2.4.3 Focus OrderAFocus moves in an order that keeps the meaning and lets you operate the page.
2.4.7 Focus VisibleAAYou can see which item has keyboard focus.
2.4.11 Focus Not Obscured (Minimum)AAThe focused item is never entirely hidden by the page's own content. New in WCAG 2.2.

One nuance on 2.4.1. W3C lists a skip link as one way to meet it, but also headings at the start of each section and page landmarks (header, nav, main). A page with good landmarks and no skip link can still meet 2.4.1. Those help screen reader users, though; a sighted person on a keyboard cannot use them without extra software, which is why the walk asks for a skip link and our guide to skip links explains how to add one.

Two related criteria are left out on purpose because they are Level AAA, beyond what a site meeting WCAG 2.2 Level AA has to do: 2.4.12 Focus Not Obscured (Enhanced), where no part of the focused item may be hidden, and 2.4.13 Focus Appearance, which sets a minimum size and contrast for the ring. How big and how strong a ring should be is covered in focus indicators and what WCAG asks of them.

What a fail usually looks like

W3C keeps a list of known failures for each criterion. Five of them account for most of what an owner finds on a keyboard walk, and each has a short name a developer will recognise.

  • F78 fails 2.4.7

    The ring was switched off

    A theme or reset stylesheet sets outline: none on links and buttons and draws nothing in its place. The most common fail of all, and one line of CSS to undo.

  • F44 fails 2.4.3

    Tabindex numbers above zero

    Someone gave a field tabindex="1" to make it come first. Every positive number is visited before the rest of the page, so focus leaps out of the reading order.

  • F85 fails 2.4.3

    A pop-up far from its button

    The cart drawer or dialog lives at the end of the page's code. It opens on screen, but Tab walks the whole page behind it before reaching it.

  • F110 fails 2.4.11

    A sticky bar over the focus

    A fixed header, footer or cookie bar is tall enough to cover a focused link entirely as you Tab past it.

  • F55 fails 2.4.7

    Focus pushed away by script

    A script moves focus off an element the moment it gets it (often to stop a mouse click leaving a ring), so the keyboard can never rest there.

Forms are where a broken order hurts most, because a skipped field is a lost enquiry; our guide to accessible forms covers labels and errors as well as order.

A worked example: a bakery's home page

Here is what a first walk of a small bakery site typically records in the tab-order list. The page has a logo, a three-link menu, a hero photo with an "Order a cake" button, opening hours, a short order form and a footer, with a cookie banner pinned to the bottom of the screen.

Tab order recorded on the bakery's home page
StopWhat took focusNote
1Logo (link to home)No skip link before it.
2Menu: Cakes, Bread, Visit usFine.
3Order a cake (hero button)Ring is a faint grey line on a photo.
4Footer: Instagram, FacebookJumped past the opening hours and the order form.
5Order form: NameReached only after the footer.
6Cookie banner: AcceptSat over the form's Send button the whole time.

Read as results, that walk gives Fail on step 2 (no skip link), Fail on step 4 (the footer before the form, which the developer traced to a tabindex="1" on the footer's first link), Fail on step 5 (the faint ring on the hero) and Fail on step 6 (the banner over the Send button). Steps 3, 7, 8 and 9 passed. Four fails, and every one is a theme-level fix: a skip link in the header template, one stray attribute removed, one focus style, and a little bottom padding while the banner is open.

The takeaway

Most keyboard fails on a small site are in the theme, not in each page. Walk the home page, one inner page and the contact or checkout page; if the same fail shows on all three, it is one fix, not three.

After the walk

Print the record or copy it as text and hand it to whoever looks after the site. Each step names its criterion, so a developer or theme support desk knows the rule being asked about. On a hosted shop or a WordPress theme, check first whether the theme itself is the problem: the Shopify themes comparison and the WordPress plugins and themes comparison look at exactly these keyboard points.

A keyboard walk covers six criteria out of the 55 a site meeting WCAG 2.2 Level AA has to meet. For the rest, work through the WCAG 2.2 AA checklist, and add a screen reader test for what the keyboard alone cannot tell you. If a demand letter or a contract deadline is behind the question, the record is useful evidence of where you stand, but it is not legal advice: ask a lawyer about your own case, and see how to make a website meet WCAG 2.1 AA for the order of fixes.