From f09cb2d986e701e14e1f22bee4d747c20c874d2a Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Thu, 1 Oct 2026 11:44:44 +0200 Subject: [PATCH] =?UTF-8?q?fixup!=20=F0=9F=93=9D(project)=20share=20Claude?= =?UTF-8?q?=20Code=20skills=20in=20the=20repository?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/skills/docs-accessibility-review/SKILL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude/skills/docs-accessibility-review/SKILL.md b/.claude/skills/docs-accessibility-review/SKILL.md index c85f49df8..52d72dd24 100644 --- a/.claude/skills/docs-accessibility-review/SKILL.md +++ b/.claude/skills/docs-accessibility-review/SKILL.md @@ -33,9 +33,9 @@ Search with the Grep tool (`rg` may not be installed in the shell), then narrow Check only the dimensions the change touches: 1. **Semantics and names:** native elements over `div` plus ARIA, meaningful accessible names and labels, heading order and landmarks, valid ARIA relationships (`aria-controls`, `aria-describedby` targets exist), current state (`aria-expanded`, `aria-selected`, `aria-current`, `aria-pressed`). Icon-only buttons need a name. Do not duplicate the visible text in `aria-label` with different wording. -2. **Keyboard:** every action reachable and operable with the keyboard, the expected keys for the widget (arrows in menus, trees and listboxes; Escape closes), no trap, focus indicator visible and not hidden by a sticky header or overlay (WCAG 2.4.11). -3. **Focus lifecycle:** where focus lands on open, then after each exit path separately: Cancel, Escape, close button, outside click, success, failure, deletion, navigation, unmount. Focus returns to the trigger, or to a logical, visible, enabled successor when the trigger is gone (deleted item, closed sub-page). Check nested overlays. -4. **Announcements:** state changes the user cannot see without moving focus (save, delete, copy link, search results count, errors) must be announced, once, translated, and with no race against a focus move that makes the screen reader read something else. +2. **Keyboard:** every action reachable and operable with the keyboard, the expected keys for the widget (arrows in menus, trees and listboxes; Escape closes), no trap, focus indicator visible (WCAG 2.4.7) and focused elements not entirely hidden by a sticky header or overlay (WCAG 2.4.11). +3. **Focus lifecycle:** where focus lands on open, then after each exit path separately: Cancel, Escape, close button, outside click, success, failure, deletion, navigation, unmount. Focus returns to the trigger when appropriate, or to a logical, visible, enabled successor when the trigger is gone or the context has changed (deleted item, closed sub-page). Check nested overlays and make sure delayed focus restoration doesn't override another intentional focus move. +4. **Announcements:** state changes the user cannot see without moving focus (save, delete, copy link, search results count, errors) must be communicated to screen readers, either through existing accessible information or an announcement when needed. Avoid duplicate announcements and races against focus moves. 5. **Editor continuity:** after a toolbar action, a dialog, or a cancelled AI action, the caret and selection come back where they were, not only focus on the `contenteditable`. Collaborators' edits must never move the local user's focus or selection. 6. **Visual and pointer:** contrast of new colours (use Cunningham tokens), zoom to 200 % and reflow at 320 px, content shown on hover also shown on focus and dismissible, target size (2.5.8), an alternative to dragging (2.5.7, e.g. moving documents in the tree), `prefers-reduced-motion`.