plugins/smedjen/skills/accessibility-wcag/SKILL.md
WCAG 2.1 AA compliance — ARIA, keyboard navigation, screen readers, color contrast, and semantic HTML. Covers the POUR principles, semantic-first authoring, ARIA as last resort, and practical testing workflows.
npx skillsauth add hjemmesidekongen/ai accessibility-wcagInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Accessibility is structural. Retrofit is expensive — build it in from the first element.
Perceivable — content and UI components must be presentable in ways users can perceive: text alternatives for non-text content, captions, adaptable layout, sufficient contrast.
Operable — all functionality available via keyboard, no timing traps, no content that causes seizures, skip navigation provided.
Understandable — text is readable, pages behave predictably, input errors are identified and described.
Robust — content is compatible with current and future assistive technologies; valid HTML is the baseline.
Target AA in production. AAA is aspirational — pursue it for high-stakes content (legal, medical, public services) but do not block release on AAA failures. Document AAA gaps explicitly.
Native elements carry free accessibility: <button> handles focus, keyboard activation, and role without ARIA. Use semantic elements before reaching for ARIA. Wrong element + ARIA is always worse than the right element alone.
button, a, nav, main, aside, header, footer, section, article,
h1–h6, ul/ol/li, table, form, fieldset, legend, label, input, select, textarea
ARIA supplements missing semantics — it does not fix incorrect markup. Rule of thumb: if a native element exists, use it. ARIA is correct when you build custom widgets (combobox, tree, dialog) that have no HTML equivalent.
First rule of ARIA: do not use ARIA if a native element provides the semantics.
See references/process.md for the full checklist, ARIA roles/states/properties, keyboard patterns, screen reader testing, React patterns, and testing tools.
development
Creates a brand from scratch through market research and interactive sparring. Runs competitive research via Perplexity, then guides the user through positioning, audience, voice, values, and content pillars. Produces the full brand guideline set at .ai/brand/{name}/. Use when building a new brand, defining brand strategy for a product, or when /våbenskjold:create is invoked.
testing
Loads brand guidelines from .ai/brand/{name}/ and makes them available to the current context. Progressive disclosure: L1 confirms brand exists, L2 loads summary, L3 loads specific files on demand. Use when a downstream skill or user needs brand context, or when /våbenskjold:apply is invoked.
documentation
Guided reinvention of an existing brand guideline. Loads current brand from .ai/brand/{name}/, identifies what to keep vs change, and walks the user through targeted evolution. Preserves brand equity while updating positioning, voice, or values. Use when refreshing a brand or when /våbenskjold:evolve is invoked.
development
Codifies an existing brand from materials, samples, and references. Analyzes provided content to extract voice patterns, values, and positioning. Produces the same guideline format as brand-strategy. Use when a brand already exists but isn't documented, or when /våbenskjold:audit is invoked.