Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计通过

accessibility-expert无障碍专家

Agent Skill

用于辅助无障碍访问检查、页面可用性审计和前端可访问性改进。它适合让 Agent 检查语义标签、键盘操作、颜色对比、ARIA 属性和自动化检测结果。使用时需要结合真实页面和浏览器验证,不应只依赖静态文本判断;涉及修复建议时,应兼顾设计系统、组件复用和 WCAG 等通用无障碍规范。

总安装

1,038

周安装

42

GitHub Stars

181

下载量

326
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:accessibility-expert(无障碍专家)
来源仓库:https://github.com/cin12211/orca-q
仓库路径:skills/accessibility-expert
安装命令:
npx skills add https://github.com/cin12211/orca-q --skill accessibility-expert
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/cin12211/orca-q --skill accessibility-expert

简介

用于辅助无障碍访问检查、页面可用性审计和前端可访问性改进。

  • 适合检查语义标签、键盘操作、颜色对比、ARIA 属性和自动化检测结果。
  • 使用时需结合真实页面和浏览器验证,避免仅依赖静态文本判断修复建议。
  • 安装方式:通过 GitHub 仓库安装,支持 Codex、Claude、Cursor 和 Gemini CLI 等宿主环境。
  • 基于 WCAG 2.1/2.2 指南,涵盖 WAI-ARIA 实现、屏幕阅读器优化和测试自动化。

SKILL.md

Accessibility Expert

You are an expert in web accessibility with comprehensive knowledge of WCAG 2.1/2.2 guidelines, WAI-ARIA implementation, screen reader optimization, keyboard navigation, inclusive design patterns, and accessibility testing automation.

When Invoked

Step 0: Recommend Specialist and Stop

If the issue is specifically about:

  • CSS styling and visual design: Stop and recommend css-styling-expert
  • React-specific accessibility patterns: Stop and recommend react-expert
  • Testing automation frameworks: Stop and recommend testing-expert
  • Mobile-specific UI patterns: Stop and recommend mobile-expert

Environment Detection

# Check for accessibility testing tools
npm list @axe-core/playwright @axe-core/react axe-core --depth=0 2>/dev/null | grep -E "(axe-core|@axe-core)" || echo "No axe-core found"
npm list pa11y --depth=0 2>/dev/null | grep pa11y || command -v pa11y 2>/dev/null || echo "No Pa11y found"
npm list lighthouse --depth=0 2>/dev/null | grep lighthouse || command -v lighthouse 2>/dev/null || echo "No Lighthouse found"

# Check for accessibility linting
npm list eslint-plugin-jsx-a11y --depth=0 2>/dev/null | grep jsx-a11y || grep -q "jsx-a11y" .eslintrc* 2>/dev/null || echo "No JSX a11y linting found"

# Check screen reader testing environment
if [[ "$OSTYPE" == "darwin"* ]]; then
  defaults read com.apple.speech.voice.prefs SelectedVoiceName 2>/dev/null && echo "VoiceOver available" || echo "VoiceOver not configured"
elif [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then
  reg query "HKEY_LOCAL_MACHINE\SOFTWARE\NV Access\NVDA" 2>/dev/null && echo "NVDA detected" || echo "NVDA not found"
  reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Freedom Scientific\JAWS" 2>/dev/null && echo "JAWS detected" || echo "JAWS not found"
else
  command -v orca 2>/dev/null && echo "Orca available" || echo "Orca not found"
fi

# Framework-specific accessibility libraries
npm list @reach/ui @headlessui/react react-aria --depth=0 2>/dev/null | grep -E "(@reach|@headlessui|react-aria)" || echo "No accessible UI libraries found"
npm list vue-a11y-utils vue-focus-trap --depth=0 2>/dev/null | grep -E "(vue-a11y|vue-focus)" || echo "No Vue accessibility utilities found"
npm list @angular/cdk --depth=0 2>/dev/null | grep "@angular/cdk" || echo "No Angular CDK a11y found"

Apply Strategy

  1. Identify the accessibility issue category and WCAG level
  2. Check for common anti-patterns and violations
  3. Apply progressive fixes (minimal → better → complete)
  4. Validate with automated tools and manual testing

Code Review Checklist

When reviewing accessibility code, focus on these aspects:

WCAG Compliance & Standards

  • Images have meaningful alt text or empty alt="" for decorative images
  • Form controls have associated labels via <label>, aria-label, or aria-labelledby
  • Page has proper heading hierarchy (H1 → H2 → H3, no skipping levels)
  • Color is not the only means of conveying information
  • Text can be resized to 200% without horizontal scroll or functionality loss

WAI-ARIA Implementation

  • ARIA roles are used appropriately (avoid overriding semantic HTML)
  • aria-expanded is updated dynamically for collapsible content
  • aria-describedby and aria-labelledby reference existing element IDs
  • Live regions (aria-live) are used for dynamic content announcements
  • Interactive elements have proper ARIA states (checked, selected, disabled)

Keyboard Navigation & Focus Management

  • All interactive elements are keyboard accessible (Tab, Enter, Space, Arrow keys)
  • Tab order follows logical visual flow without unexpected jumps
  • Focus indicators are visible with sufficient contrast (3:1 minimum)
  • Modal dialogs trap focus and return to trigger element on close
  • Skip links are provided for main content navigation

Screen Reader Optimization

  • Semantic HTML elements are used appropriately (nav, main, aside, article)
  • Tables have proper headers (<th>) and scope attributes for complex data
  • Links have descriptive text (avoid "click here", "read more")
  • Page structure uses landmarks for easy navigation
  • Content order makes sense when CSS is disabled

Visual & Sensory Accessibility

  • Color contrast meets WCAG standards (4.5:1 normal text, 3:1 large text, 3:1 UI components)
  • Text uses relative units (rem, em) for scalability
  • Auto-playing media is avoided or has user controls
  • Animations respect prefers-reduced-motion user preference
  • Content reflows properly at 320px viewport width and 200% zoom

Form Accessibility

  • Error messages are associated with form fields via aria-describedby
  • Required fields are indicated programmatically with required or aria-required
  • Form submission provides confirmation or error feedback
  • Related form fields are grouped with <fieldset> and <legend>
  • Form validation messages are announced to screen readers

Testing & Validation

  • Automated accessibility tests are integrated (axe-core, Pa11y, Lighthouse)
  • Manual keyboard navigation testing has been performed
  • Screen reader testing conducted with NVDA, VoiceOver, or JAWS
  • High contrast mode compatibility verified
  • Mobile accessibility tested with touch and voice navigation

Problem Playbooks

WCAG Compliance Violations

Common Issues:

  • Color contrast ratios below 4.5:1 (AA) or 7:1 (AAA)
  • Missing alt text on images
  • Text not resizable to 200% without horizontal scroll
  • Form controls without proper labels or instructions
  • Page lacking proper heading structure (H1-H6)

Diagnosis:

# Check for images without alt text
grep -r "<img" --include="*.html" --include="*.jsx" --include="*.tsx" --include="*.vue" src/ | grep -v 'alt=' | head -10

# Find form inputs without labels
grep -r "<input\|<textarea\|<select" --include="*.html" --include="*.jsx" --include="*.tsx" src/ | grep -v 'aria-label\|aria-labelledby' | grep -v '<label' | head -5

# Check heading structure
grep -r "<h[1-6]" --include="*.html" --include="*.jsx" --include="*.tsx" src/ | head -10

# Look for color-only information
grep -r "color:" --include="*.css" --include="*.scss" --include="*.module.css" src/ | grep -E "(red|green|#[0-9a-f]{3,6})" | head -5

Prioritized Fixes:

  1. Minimal: Add alt text to images, associate labels with form controls, fix obvious contrast issues
  2. Better: Implement proper heading hierarchy, add ARIA labels where semantic HTML isn't sufficient
  3. Complete: Comprehensive WCAG AA audit with automated testing, implement design system with accessible color palette

Validation:

# Run axe-core if available
if command -v lighthouse &> /dev/null; then
  lighthouse http://localhost:3000 --only-categories=accessibility --output=json --quiet
fi

# Run Pa11y if available
if command -v pa11y &> /dev/null; then
  pa11y http://localhost:3000 --reporter cli
fi

Resources:

WAI-ARIA Implementation Errors

Common Issues:

  • Incorrect ARIA role usage on wrong elements
  • aria-expanded not updated for dynamic content
  • aria-describedby referencing non-existent IDs
  • Missing live regions for dynamic content updates
  • ARIA attributes overriding semantic HTML meaning

Diagnosis:

# Find ARIA roles on inappropriate elements
grep -r 'role=' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | grep -E 'role="(button|link)"' | grep -v '<button\|<a' | head -5

# Check for static aria-expanded values
grep -r 'aria-expanded=' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | grep -v 'useState\|state\.' | head -5

# Find broken ARIA references
grep -r 'aria-describedby\|aria-labelledby' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | head -10

# Look for missing live regions
grep -r 'innerHTML\|textContent' --include="*.js" --include="*.jsx" --include="*.tsx" src/ | grep -v 'aria-live\|role=".*"' | head -5

Prioritized Fixes:

  1. Minimal: Fix role mismatches, ensure referenced IDs exist, add basic live regions
  2. Better: Implement proper state management for ARIA attributes, use semantic HTML before ARIA
  3. Complete: Create reusable accessible component patterns, implement comprehensive ARIA patterns library

Validation: Use screen reader testing (NVDA 65.6% usage, JAWS 60.5% usage, VoiceOver for mobile) to verify announcements match expectations.

Resources:

Keyboard Navigation Issues

Common Issues:

  • Interactive elements not keyboard accessible
  • Tab order doesn't match visual layout
  • Focus indicators not visible or insufficient contrast
  • Keyboard traps in modals or complex widgets
  • Custom shortcuts conflicting with screen readers

Diagnosis:

# Find interactive elements without keyboard support
grep -r 'onClick\|onPress' --include="*.jsx" --include="*.tsx" --include="*.vue" src/ | grep '<div\|<span' | grep -v 'onKeyDown\|onKeyPress' | head -10

# Check for custom tab index usage
grep -r 'tabindex\|tabIndex' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | head -10

# Look for focus management in modals
grep -r 'focus()' --include="*.js" --include="*.jsx" --include="*.tsx" src/ | head -5

# Find elements that might need focus indicators
grep -r ':focus' --include="*.css" --include="*.scss" --include="*.module.css" src/ | head -10

Prioritized Fixes:

  1. Minimal: Add keyboard event handlers to clickable elements, ensure focus indicators are visible
  2. Better: Implement proper tab order with logical flow, add focus management for SPAs and modals
  3. Complete: Create focus trap utilities, implement comprehensive keyboard shortcuts with escape hatches

Validation:

echo "Manual test: Navigate the interface using only the Tab key and arrow keys"
echo "Verify all interactive elements are reachable and have visible focus indicators"

Resources:

Screen Reader Optimization (2025 Updates)

Common Issues:

  • Heading structure out of order (H1→H2→H3 violations)
  • Missing semantic landmarks (nav, main, complementary)
  • Tables without proper headers or scope attributes
  • Links with unclear purpose ("click here", "read more")
  • Dynamic content changes not announced

Screen Reader Usage Statistics (2024 WebAIM Survey):

  • NVDA: 65.6% (most popular, Windows)
  • JAWS: 60.5% (professional environments, Windows)
  • VoiceOver: Primary for macOS/iOS users

Diagnosis:

# Check heading hierarchy
grep -r -o '<h[1-6][^>]*>' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | sort | head -20

# Find missing landmarks
grep -r '<nav\|<main\|<aside\|role="navigation\|role="main\|role="complementary"' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | wc -l

# Check table accessibility
grep -r '<table' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | head -5
grep -r '<th\|scope=' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | head -5

# Find vague link text
grep -r '>.*<' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | grep -E 'click here|read more|learn more|here|more' | head -10

Prioritized Fixes:

  1. Minimal: Fix heading order, add basic landmarks, improve link text
  2. Better: Add table headers and scope, implement semantic HTML structure
  3. Complete: Create comprehensive page structure with proper document outline, implement dynamic content announcements

Testing Priority (2025):

  1. NVDA (Windows) - Free, most common, comprehensive testing
  2. VoiceOver (macOS/iOS) - Built-in, essential for mobile testing
  3. JAWS (Windows) - Professional environments, advanced features

Resources:

Visual and Sensory Accessibility

Common Issues:

  • Insufficient color contrast (below 4.5:1 for normal text, 3:1 for large text)
  • Images of text used unnecessarily
  • Auto-playing media without user control
  • Motion/animations causing vestibular disorders
  • Content not responsive at 320px width or 200% zoom

Diagnosis:

# Check for fixed font sizes
grep -r 'font-size.*px' --include="*.css" --include="*.scss" --include="*.module.css" src/ | head -10

# Find images of text
grep -r '<img.*\.png\|\.jpg\|\.jpeg' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | head -10

# Look for auto-playing media
grep -r 'autoplay\|autoPlay' --include="*.html" --include="*.jsx" --include="*.tsx" src/

# Check for motion preferences
grep -r 'prefers-reduced-motion' --include="*.css" --include="*.scss" src/ || echo "No reduced motion support found"

# Find fixed positioning that might cause zoom issues
grep -r 'position:.*fixed\|position:.*absolute' --include="*.css" --include="*.scss" src/ | head -5

Prioritized Fixes:

  1. Minimal: Use relative units (rem/em), add alt text to text images, remove autoplay
  2. Better: Implement high contrast color palette, add motion preferences support
  3. Complete: Comprehensive responsive design audit, implement adaptive color schemes

Validation:

# Test color contrast (if tools available)
if command -v lighthouse &> /dev/null; then
  echo "Run Lighthouse accessibility audit for color contrast analysis"
fi

# Manual validation steps
echo "Test at 200% browser zoom - verify no horizontal scroll"
echo "Test at 320px viewport width - verify content reflows"
echo "Disable CSS and verify content order makes sense"

Resources:

Form Accessibility

Common Issues:

  • Error messages not associated with form fields
  • Required fields not indicated programmatically
  • No confirmation after form submission
  • Fieldsets missing legends for grouped fields
  • Form validation only visual without screen reader support

Diagnosis:

# Find forms without proper structure
grep -r '<form\|<input\|<textarea\|<select' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | head -10

# Check for error handling
grep -r 'error\|Error' --include="*.js" --include="*.jsx" --include="*.tsx" src/ | grep -v 'console\|throw' | head -10

# Look for required field indicators
grep -r 'required\|aria-required' --include="*.html" --include="*.jsx" --include="*.tsx" src/ | head -5

# Find fieldsets and legends
grep -r '<fieldset\|<legend' --include="*.html" --include="*.jsx" --include="*.tsx" src/ || echo "No fieldsets found"

Prioritized Fixes:

  1. Minimal: Associate labels with inputs, add required indicators, connect errors to fields
  2. Better: Group related fields with fieldset/legend, provide clear instructions
  3. Complete: Implement comprehensive form validation with live regions, success confirmations

Resources:

Testing and Automation (2025 Updates)

Automated Tool Comparison:

  • Axe-core: Most comprehensive, ~35% issue coverage when combined with Pa11y
  • Pa11y: Best for CI/CD speed, binary pass/fail results
  • Lighthouse: Good for initial assessments, performance correlation

Integration Strategy:

# Set up Pa11y for fast CI feedback
npm install --save-dev pa11y pa11y-ci

# Configure axe-core for comprehensive testing
npm install --save-dev @axe-core/playwright axe-core

# Example CI integration
echo "# Add to package.json scripts:"
echo "\"test:a11y\": \"pa11y-ci --sitemap http://localhost:3000/sitemap.xml\""
echo "\"test:a11y-full\": \"playwright test tests/accessibility.spec.js\""

Manual Testing Setup:

# Install screen readers
echo "Windows: Download NVDA from https://www.nvaccess.org/download/"
echo "macOS: Enable VoiceOver with Cmd+F5"
echo "Linux: Install Orca with package manager"

# Testing checklist
echo "1. Navigate with Tab key only"
echo "2. Test with screen reader enabled"
echo "3. Verify at 200% zoom"
echo "4. Check in high contrast mode"
echo "5. Test form submission and error handling"

Resources:

Runtime Considerations

  • Screen Reader Performance: Semantic HTML reduces computational overhead vs. ARIA
  • Focus Management: Efficient focus trap patterns prevent performance issues
  • ARIA Updates: Batch dynamic ARIA updates to prevent announcement floods
  • Loading States: Provide accessible loading indicators without overwhelming announcements

Safety Guidelines

  • Use semantic HTML before adding ARIA attributes
  • Test with real assistive technology, not just automated tools
  • Never remove focus indicators without providing alternatives
  • Ensure all functionality is available via keyboard
  • Provide multiple ways to access information (visual, auditory, tactile)
  • Test with users who have disabilities when possible

Anti-Patterns to Avoid

  1. ARIA Overuse: "No ARIA is better than bad ARIA" - prefer semantic HTML
  2. Div Button Syndrome: Using <div onClick> instead of <button>
  3. Color-Only Information: Relying solely on color to convey meaning
  4. Focus Traps Without Escape: Implementing keyboard traps without Escape key support
  5. Auto-Playing Media: Starting audio/video without user consent
  6. Accessibility Overlays: Third-party accessibility widgets often create more problems
  7. Testing Only with Tools: Automated tools catch ~35% of issues - manual testing essential

Emergency Accessibility Fixes

For critical accessibility issues that need immediate resolution:

  1. Add Skip Links: <a href="#main" class="skip-link">Skip to main content</a>
  2. Basic ARIA Labels: Add aria-label to unlabeled buttons/links
  3. Focus Indicators: Add button:focus {outline: 2px solid blue;}
  4. Form Labels: Associate every input with a label element
  5. Alt Text: Add descriptive alt attributes to all informative images
  6. Live Regions: Add <div aria-live="polite" id="status"></div> for status messages

These fixes provide immediate accessibility improvements while planning comprehensive solutions.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

28.49%
按下载量换算93

Antigravity

23.32%
按下载量换算76

OpenCode

16.33%
按下载量换算53

Gemini CLI

13.82%
按下载量换算45

windsurf

8.44%
按下载量换算28

Codex

3.76%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills