# ARIA Hidden Focus

Checks no focusable element sits inside an aria-hidden container.

- Repository: https://github.com/thedaviddias/Front-End-Checklist (74621 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add thedaviddias/Front-End-Checklist --skill aria-hidden-focus -g -a claude-code -y`
Codex: `npx skills add thedaviddias/Front-End-Checklist --skill aria-hidden-focus -g -a codex -y`
Cursor: `npx skills add thedaviddias/Front-End-Checklist --skill aria-hidden-focus -g -a cursor -y`
Gemini CLI: `npx skills add thedaviddias/Front-End-Checklist --skill aria-hidden-focus -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add thedaviddias/Front-End-Checklist`

## Description

Use when reviewing rendered HTML, interactive components, or design-system patterns related to Remove focusable elements from aria-hidden containers. Check native semantics first, then inspect keyboard behavior, focus flow, accessible names, and screen-reader output where relevant.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Remove focusable elements from aria-hidden containers

When a keyboard user tabs into an `aria-hidden` element, the screen reader remains silent, leaving the user with no idea where their focus is or what they can interact with.

## Quick Reference

- Elements with `aria-hidden="true"` must not contain focusable children
- Focusing on a hidden element creates a 'ghost' focus for screen reader users
- Use `tabindex="-1"` or `inert` to properly hide interactive elements

## Check

Scan `aria-hidden="true"` containers for focusable elements like links, buttons, or inputs.

## Fix

Add `tabindex="-1"` to focusable children inside `aria-hidden` containers or use the `inert` attribute.

## Explain

Explain why focusable elements inside aria-hidden containers cause confusion for keyboard and screen reader users.

## Code Review

Review the rendered markup and interactive states that affect Remove focusable elements from aria-hidden containers. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech.

---

For full implementation details, code examples, and framework-specific guidance,
see `references/rule.md`.

Rule page: https://frontendchecklist.io/rules/accessibility/aria-hidden-focus

