agentsclimarketplace

Mav bp accessibility

Skill thermiteau/maverick/skills/mav-bp-accessibility

Accessibility conventions for projects with user-facing interfaces. Covers WCAG 2.1 AA compliance, semantic HTML, keyboard navigation, colour contrast, screen reader support, and automated a11y testing. Applied when building or reviewing user-facing web or mobile applications.From its SKILL.md

Install
npx -y skills add thermiteau/maverick --skill mav-bp-accessibility

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.7 KB, as published. Nobody here has run it

Accessibility Standards

Ensure user-facing interfaces are usable by everyone, including people who rely on assistive technology.

Maverick's Rules

  • WCAG 2.2 AA is the baseline, not the ceiling — all user-facing interfaces must meet it.
  • Scope: web and mobile UIs only. Does NOT apply to CLIs, REST/GraphQL APIs, backend services, batch jobs/workers/daemons, or internal build tools. If the project has no user-facing interface, skip this skill entirely.
  • Semantic HTML first — native elements before ARIA. No ARIA is better than bad ARIA; never override native semantics; any custom ARIA widget must implement its full keyboard interaction pattern.
  • Automated accessibility testing must run in CI (axe-core, Lighthouse CI, pa11y, eslint-plugin-jsx-a11y — whatever fits the stack). Automated tools catch only ~30% of issues; they are necessary but not sufficient.
  • Manual verification is required for what automation misses: keyboard-only operation of the whole page (Tab/Shift+Tab/Enter/Space/Escape/arrows, no traps outside modals), screen reader announcement of labels, errors, and dynamic content, and focus management in modals and SPA route changes (trap in dialog, restore to trigger on close).
  • Zoom and reflow: content usable at 200% zoom; no horizontal scrolling at 320px viewport width.
  • Auto-playing media is prohibited — playback must be user-initiated.
  • Focus indicators: never outline: none without a :focus-visible replacement; indicators need at least 3:1 contrast against the surrounding background.
  • Never use colour alone to convey state — pair it with text, an icon, or a pattern.

Project Implementation Lookup

Check for docs/maverick/skills/accessibility/SKILL.md. If present, read it and follow it — it wins on specifics (library, config, conventions). If missing, proceed with these standards and note the gap in your summary.

Detecting Accessibility Issues in Code Review

When reviewing code for user-facing interfaces, flag these patterns:

PatternIssueFix
<div onclick="...">Non-semantic interactive elementUse <button> or <a>
outline: none without replacementInvisible focus indicatorAdd focus-visible style
<img> without alt attributeMissing text alternativeAdd descriptive alt or alt="" for decorative
<input> without associated <label>Unlabelled form fieldAdd <label for="...">
Colour alone indicates stateInaccessible to colour-blind usersAdd icon, text, or pattern
tabindex value > 0Breaks natural tab orderUse tabindex="0" or -1 only
aria-hidden="true" on focusable elementHidden but still keyboard-reachableRemove from tab order or remove aria-hidden
Auto-playing video or audioDisruptive, not user-initiatedRequire explicit play action
Placeholder used as labelLabel disappears on input, poor contrastAdd a visible <label>
Missing lang attribute on <html>Screen reader uses wrong languageAdd <html lang="en"> (or appropriate language)
Custom widget without keyboard handlingInoperable for keyboard usersImplement full keyboard interaction pattern
Error shown only by colour changeScreen readers cannot detect colourAdd text message and aria-describedby
<!-- maverick-plugin-version: 4.0.1 -->

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.