# Tabs Accessibility

> Use when reviewing templates, rendered HTML, or shared components related to Make tabs keyboard navigable. Validate the final browser-facing markup, not just the source framework abstraction.

- Skill: `thedaviddias/tabs-accessibility` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add thedaviddias/tabs-accessibility`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thedaviddias/tabs-accessibility/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: thedaviddias (https://skillmd.com/u/thedaviddias)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/thedaviddias/tabs-accessibility

---


# Make tabs keyboard navigable

Incorrectly implemented tabs trap keyboard users or leave screen reader users unable to understand the relationship between tabs and their content.

## Quick Reference

- Use tablist, tab, and tabpanel roles
- Only one tab in the tab order at a time (roving tabindex)
- Arrow keys navigate between tabs, Tab moves to panel
- Connect tabs to panels with aria-controls/aria-labelledby

## Check

Verify tabs use tablist/tab/tabpanel roles, aria-selected state, and arrow key navigation between tabs.

## Fix

Implement tabs with role='tablist', role='tab', role='tabpanel', aria-selected, and proper keyboard interaction patterns.

## Explain

Explain the ARIA tabs design pattern and how proper implementation ensures keyboard and screen reader accessibility.

## Code Review

Review templates, server-rendered HTML, and shared components that output markup related to Make tabs keyboard navigable. Flag exact elements, attributes, and routes where the rendered HTML violates the rule.

---

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

Rule page: https://frontendchecklist.io/en/rules/html/tabs-accessibility

