Skip to content

Test your website now

Free, no card. We read only public pages.

Run free audit →

Accessibility · WCAG 2.1.1 level A

Scrollable Region Must Have Keyboard Access: Reach the Hidden Content

Make overflow content reachable by keyboard. Review focusable scrollers and descendants, preserve visible focus, and test scrolling and exit.

Published · Updated

What the check tests

Check
a11y.axe.scrollable-region-focusable - Scrollable region must have keyboard access
Passes when
Ensure elements that have scrollable content are accessible by keyboard in Safari
Scope
graded on every page crawled
Conformance
WCAG level A
Fix effort
small - under an hour

In one paragraph

Scrollable region must have keyboard access means a tested overflow container lacked the focus path this rule accepts. Ensure users can reach and read its content without pointer-only scrolling, using appropriate focus or another effective keyboard mechanism. Browser defaults vary, and one focusable descendant can satisfy the engine without making every part practically reachable. Test entry, scrolling, operation, and exit in the actual interface.

Why it matters

Independent overflow areas can contain tables, code, legal text, chat history, or horizontal cards. If keyboard input only scrolls the outer page, useful content in the inner panel can remain out of reach.

Browser focus defaults for scroll containers differ by product and version. Do not promise that every current browser behaves identically or that a particular engine always requires the same markup. Verify the supported environments and provide a reliable mechanism for the actual task.

Adding focus can help but should be intentional. A labelled meaningful region can explain why a new stop exists, while putting tabindex on every decorative wrapper can make navigation cumbersome. Keyboard accessibility is about usable functionality, not maximising focusable elements.

How WebAuditOS evaluates this finding

The supplied scrollable-region-focusable rule uses overflow and size heuristics, including its documented thirteen-pixel difference and content-clipping conditions, then accepts certain focusable containers, editable regions, or tabbable descendants.

Serious impact maps to high severity. Native select and textarea handling and specified popup cases differ. A single accepted link within a long panel does not prove all content can be scrolled effectively, and overflow:hidden can fall outside this rule while still causing real content loss.

How to fix it

  1. Identify what overflows in each relevant viewport and whether users need the hidden content. Check horizontal as well as vertical scrolling, and confirm the container rather than the outer page is the intended scroll surface.
  2. For a meaningful region that needs an explicit focus stop, a structural example is:
<section>
  <h2 id="comparison-title">Plan comparison</h2>
  <div tabindex="0" role="region" aria-labelledby="comparison-title" class="comparison-scroll">Comparison content</div>
</section>

Apply the actual overflow styles and real accessible table or content. This fragment alone does not demonstrate useful scrolling or justify a region on every small box.

  1. Provide a visible focus indicator and understandable context. Do not remove outlines merely because the container is not a conventional form control.
  2. Test expected scrolling keys and interactions in supported browsers and assistive modes. Behaviour can differ when a descendant control consumes arrow keys; a focusable child is not a universal scrolling solution.
  3. Confirm users can leave the region naturally and that scripts do not trap focus or cancel scrolling keys unnecessarily. Keep focus order aligned with the page rather than using positive tabindex values to force a path.
  4. Test zoom, text spacing, dynamic content, fixed headers, and mobile layouts. A box that fits at one size can become scrollable or clipped at another.
  5. Consider removing unnecessary independent scrolling where normal document flow serves the content better. Do not replace scrollable content with hidden overflow just to remove a rule match.
  6. Rescan and manually verify all meaningful content is reachable. Compare real usability, not only whether the engine found one eligible focus path.

What the fix can break

An added focus stop can become repetitive on a dense dashboard. Scope it to actual useful scroll areas and avoid redundant landmarks or verbose names.

Inner and outer scroll movement can be confusing if focus is not visible. Test the actual active element and ensure sticky layers do not obscure it.

Do not disable keyboard scrolling to preserve a custom drag gesture. Provide an equivalent keyboard route for the underlying function.

Questions

Is tabindex=0 always necessary?

No universal markup answer applies. It is a common explicit mechanism when the container needs focus; verify actual browser behaviour and task access.

Not necessarily. The supplied acceptance path is a heuristic, so test actual scrolling.

Does overflow:hidden solve the issue?

It can simply conceal content and escape this rule. Assess access and reflow rather than hiding the problem.

Review hidden focus, the mobile usability guide, and the automation limits guide.

What severity does this get in the report?

High. An axe finding takes its severity from the impact axe reports for the element that failed, and the report maps critical and serious to high, moderate to medium, minor to low. This rule is declared serious in axe-core 4.13.0, so every failure arrives as high.

Standards and sources

In the report

Test this on your own site

Every scan runs a11y.axe.scrollable-region-focusable on every page it crawls, on every plan. The finding carries this id, so a line in a report can be matched to the explanation above - and the free scan needs no account.