Conformance Status
Tabberwocky Tab Defenestrator (TTD) conforms to WCAG 2.2 Level AA. Conformance was verified by automated testing using axe-core and supplementary manual checks against every UI surface in the extension.
Extension version: 2.0.0
Audit Results
Automated Testing (axe-core)
axe-core was run against every UI surface with WCAG 2.1 AA rules enabled and no rules disabled.
| Surface | View | AA Violations | Rules Passed |
|---|---|---|---|
| sidepanel | by-window | 0 | 29 |
| sidepanel | by-window-collapsed | 0 | 30 |
| sidepanel | by-site | 0 | 29 |
| options | n/a | 0 | 37 |
Manual Checks
| Check | Result |
|---|---|
| Keyboard trap detection (20 Tab presses) | No traps detected |
| Focus indicators (2px+ visible outline) | 4/4 elements pass |
| Touch targets ≥ 24px (WCAG 2.2 SC 2.5.8) | 0/8 failures |
Language attribute (lang="en") |
2/2 pages set |
| Heading hierarchy (no skipped levels) | 0 pages with skipped levels |
| Interactive elements with accessible names | 0 missing |
Empty aria-* attributes |
0 found |
| Color contrast (manual, includes hover-only elements) | 2/2 pairs pass |
Color Contrast
Some UI elements (close buttons, action icons) are only visible on hover, so automated scanners may not detect them. These were verified manually by computing contrast ratios from CSS custom properties.
| Element | Colors | Ratio | Required | Result |
|---|---|---|---|---|
--color-text-muted on cream (hover buttons, overflow badge) |
#696969 on #f3eacf | 4.57:1 | 4.5:1 | Pass |
--color-focus-ring on cream (SC 2.4.13 focus indicator) |
#7a5500 on #f3eacf | 5.59:1 | 3:1 | Pass |
Touch Targets
Measured at 360px viewport width (minimum supported side panel width).
| Element | Size | 24px (WCAG 2.2 AA) |
|---|---|---|
| Close Duplicates (428) | 36 × 42px | Pass |
| Merge Windows (4) | 36 × 42px | Pass |
| Sites A-Z | 36 × 42px | Pass |
| Most Recent | 36 × 42px | Pass |
| Collapse all | 36 × 42px | Pass |
| view-btn-window | 61.9 × 24px | Pass |
| view-btn-site | 40.5 × 24px | Pass |
| Settings | 44 × 28px | Pass |
Focus Indicators
All interactive elements display a visible focus ring when focused via keyboard.
| Element | Outline | Result |
|---|---|---|
| toolbar button | 2px solid rgb(122, 85, 0) | Pass |
| treeitem (header) | 2px solid rgb(122, 85, 0) | Pass |
| treeitem (tab) | 2px solid rgb(122, 85, 0) | Pass |
| radio button | 2px solid rgb(122, 85, 0) | Pass |
ARIA Structure
The side panel uses WAI-ARIA tree view semantics:
| Role | Count |
|---|---|
| tree | 1 |
| treeitem | 23 |
| toolbar | 1 |
| radio | 2 |
| radiogroup | 1 |
| group | 2 |
| status | 1 |
| alert | 1 |
WCAG 2.2 Criteria
The following WCAG 2.2 success criteria are new relative to WCAG 2.1. Their applicability to TTD is noted below.
| Criterion | Applicability | Status |
|---|---|---|
| SC 2.4.11 Focus Not Obscured (Minimum) | Applicable — sticky headers in By Window view | Pass (scroll padding offsets focused items from behind sticky header) |
| SC 2.4.13 Focus Appearance | Applicable — keyboard focus ring | Pass (2px outline, 2/2 contrast checks pass at ≥ 3:1) |
| SC 2.5.7 Dragging Movements | Not applicable — no drag interactions | — |
| SC 2.5.8 Target Size (Minimum) | Applicable — toolbar buttons, view selector | Pass (0/8 elements below 24px) |
| SC 3.2.6 Consistent Help | Not applicable — no help mechanism | — |
| SC 3.3.7 Redundant Entry | Not applicable — no forms | — |
| SC 3.3.8 Accessible Authentication (Minimum) | Not applicable — no authentication | — |
Scope
This audit covers:
- Side panel — the primary UI surface (toolbar, virtual-scrolled tab list, footer) in both By Window and By Site view modes, including collapsed window states with icon strips
- Options page — settings, keyboard shortcuts reference, and about section
The welcome page (shown once after installation) is an iframe to tabberwocky.org and is not covered by this audit.
Limitations
axe-core flags the following best-practice rules on the side panel. These are not WCAG AA success criteria and do not affect conformance:
landmark-one-main— the side panel is a widget, not a document page; a<main>landmark is not appropriatepage-has-heading-one— widget panels use ARIA tree semantics, not heading hierarchyregion— toolbar and tab list have ARIA roles (toolbar,tree) that serve the equivalent navigation purpose
Methodology
This statement was generated on April 07, 2026 by an automated audit pipeline:
- axe-core scans every UI surface with
wcag2a,wcag2aa,wcag21aa, andbest-practicerule tags enabled. No rules are disabled. - Manual contrast checks compute WCAG relative luminance ratios for color pairs that axe-core cannot reach (hover-only elements).
- Keyboard navigation is verified by programmatic Tab key cycling and ARIA tree arrow key navigation.
- Touch target measurement uses
getBoundingClientRect()at the minimum supported viewport width (360px). - Focus indicator verification reads computed
outlinestyles on focused elements.
The audit runs against the development preview, which renders identical UI to the production extension using an in-memory fake Chrome API.