meeting-notes
>-
wcag22-a11y-audit
WCAG 2.2 Accessibility Audit skill that systematically evaluates web pages against 8 core Success Criteria (1.1.1, 1.4.3, 1.4.11, 2.1.1, 2.1.2, 2.4.3, 2.4.7, 4.1.2) using accessibility tree inspection and visual analysis. Use this skill when you need to perform accessibility testing/auditing on a...
Full skill instructions
Use this skill when the user wants to:
This skill uses a hybrid approach combining structured accessibility tree analysis and visual inspection.
PRIMARY: Accessibility Tree (search_elements)
search_elements(tabId, query) to retrieve structured accessibility informationrole, name, value, checked, expanded, disabled, focused, etc.SECONDARY: Visual Analysis (Screenshot + LLM)
capture_screenshot(sendToLLM=true) for visual inspection[[screenshot:N]] placeholders in the report for evidenceKEYBOARD INTERACTION: computer tool
computer(action='key', text='Tab') for keyboard navigation testing1. Identify scope (page/component/flow)
2. Collect evidence via search_elements and/or screenshot
3. Apply SC-specific judgment rules
4. Record Pass/Fail with evidence references
5. Provide actionable fix recommendations
IMPORTANT: This audit may capture sensitive information.
Before starting the audit, confirm with the user:
Goal: All non-text content (images, icons, controls) must have text alternatives.
Test Steps:
Find images and icons:
search_elements(tabId, "image | img")
search_elements(tabId, "button | link | menuitem | tab | switch")
Evaluate each element:
name attribute exists and is meaningfulname is empty or missingname is generic: "icon", "image", "button", "img", "graphic", file names (e.g., "logo.png")name duplicates visible text unnecessarily (redundant)name accurately describes purpose or equivalent informationFor decorative content:
role="presentation" or role="none", or name="" (explicitly empty)Common Failures:
alt="image" or alt="logo.png"aria-label or visually hidden textFix Recommendations:
alt text to imagesaria-label or aria-labelledby for icon buttons<button> instead of <div>)Goal: Text must have sufficient contrast against its background.
Requirements:
Test Steps:
Capture page states:
capture_screenshot(sendToLLM=true)
computer to trigger)Visual analysis prompt (for LLM):
"Analyze this screenshot for text contrast issues. Identify any text that appears to have low contrast against its background. Focus on:
- Small/body text that may be below 4.5:1
- Placeholder text in input fields
- Disabled state text
- Text overlaid on images or gradients List suspicious elements with their approximate location."
Record findings:
Common Failures:
Fix Recommendations:
Goal: UI components and graphical objects must have ≥ 3:1 contrast.
Applies to:
Test Steps:
Identify UI components:
search_elements(tabId, "textbox | combobox | checkbox | radio | switch | button | slider")
Capture states:
capture_screenshot(sendToLLM=true)
Visual analysis prompt:
"Analyze this screenshot for non-text contrast issues. Check if:
- Input field borders are clearly visible (≥3:1 against background)
- Button boundaries are distinguishable
- Icons are clearly visible
- Focus indicators have sufficient contrast
- Checkbox/radio/switch states are visually distinct List any elements that appear to have insufficient contrast."
State coverage matrix: Document which states were tested for each component type.
Common Failures:
Fix Recommendations:
Goal: All functionality must be operable via keyboard.
Test Steps:
Identify key tasks: Ask user or determine primary interactive flows
Attempt keyboard-only completion:
computer(action='key', text='Tab') // Navigate forward
computer(action='key', text='shift+Tab') // Navigate backward
computer(action='key', text='Enter') // Activate buttons/links
computer(action='key', text='Space') // Activate buttons, toggle checkboxes
computer(action='key', text='Escape') // Close dialogs/menus
computer(action='key', text='ArrowDown') // Navigate within widgets
At each step:
Cross-reference with accessibility tree:
search_elements(tabId, "*")
rolefocusable / disabledCommon Failures:
<div> with onClick but no keyboard handlerFix Recommendations:
<button>, <a>, <input>)tabindex="0" and keyboard event handlers to custom componentsGoal: If focus can enter a component, it must be able to exit via keyboard.
Test Steps:
Identify potential trap components:
For each component:
Capture evidence:
capture_screenshot(sendToLLM=true)
Common Failures:
Fix Recommendations:
Goal: Focus order must preserve meaning and operability.
Test Steps:
Tab through the page:
computer(action='key', text='Tab')
Compare with visual order:
capture_screenshot(sendToLLM=true)
Test dynamic content:
Check for problematic patterns:
search_elements(tabId, "tabindex")
tabindex values (>0) cause unpredictable orderCommon Failures:
tabindex values creating chaotic orderFix Recommendations:
Goal: Keyboard focus indicator must be visible.
Test Steps:
Ensure keyboard-only mode:
At each focused element:
capture_screenshot(sendToLLM=true)
Visual analysis prompt:
"Is there a visible focus indicator on the currently focused element in this screenshot? The indicator should be clearly distinguishable (outline, border, background change, underline, or similar). Describe what you see and whether it provides sufficient visual distinction."
Cross-reference:
search_elements(tabId, "*focused*")
focused stateCommon Failures:
outline: none with no replacement styleFix Recommendations:
:focus-visible for keyboard-only focus stylingGoal: All UI components must expose name, role, and value to assistive technology.
Test Steps:
Extract interactive elements:
search_elements(tabId, "button | link | textbox | combobox | checkbox | radio | switch | tab | menuitem | slider | spinbutton | searchbox")
For each element, verify:
checked for checkboxes/radios/switchesexpanded for disclosure widgetsselected for tabs/optionspressed for toggle buttonsvalue for inputs/slidersTest state changes:
search_elementsexpanded state updatesselected state updatesCommon patterns to check:
role="checkbox" and checked statearia-expandedrole="tab" with aria-selectedrole="menu" and role="menuitem"Common Failures:
<div> buttons without role="button" or accessible namechecked stateFix Recommendations:
After completing the audit, generate a Markdown report with this structure:
# WCAG 2.2 Accessibility Audit Report
**Target**: [URL or Page Name]
**Date**: [Audit Date]
**Scope**: [Full page / Component / User flow]
**Auditor**: AIPex WCAG 2.2 A11y Audit Skill
---
## Executive Summary
[1-2 sentence overall assessment. Example: "The page has significant accessibility barriers, particularly in keyboard navigation and missing text alternatives for icon buttons. X of 8 Success Criteria tested have issues."]
---
## Scope & Assumptions
- **Pages/Components Tested**: [List]
- **Testing Method**: Accessibility tree inspection via search_elements + visual analysis via screenshots + keyboard navigation testing
- **Limitations**: Contrast assessments are visual estimates; recommend verification with dedicated tools.
- **Privacy Note**: Screenshots may have been captured; ensure sensitive data is masked before sharing this report.
---
## Results by Success Criterion
### 1.1.1 Non-text Content (Level A)
**Result**: [PASS / FAIL / PARTIAL]
**Evidence**:
- [Describe findings]
- [[screenshot:N]] (if applicable)
**Issues Found**:
| Element | Issue | Severity |
|---------|-------|----------|
| [element description] | [issue description] | [Critical/Serious/Moderate/Minor] |
**Recommendations**:
- [Specific fix recommendations]
---
### 1.4.3 Contrast (Minimum) (Level AA)
**Result**: [PASS / FAIL / PARTIAL / NEEDS VERIFICATION]
**Evidence**:
- [[screenshot:N]]
**Suspected Issues**:
| Element | Suspected Issue | Needs Verification |
|---------|-----------------|---------------------|
| [location/description] | [suspected contrast issue] | Yes |
**Recommendations**:
- Verify with contrast checker tool
- [Specific fixes if contrast is confirmed insufficient]
---
### 1.4.11 Non-text Contrast (Level AA)
**Result**: [PASS / FAIL / PARTIAL / NEEDS VERIFICATION]
**Evidence**:
- [[screenshot:N]]
**State Coverage**:
| Component Type | Default | Hover | Focus | Disabled |
|----------------|---------|-------|-------|----------|
| Input fields | ✓/✗ | ✓/✗ | ✓/✗ | ✓/✗ |
| Buttons | ✓/✗ | ✓/✗ | ✓/✗ | ✓/✗ |
**Issues Found**:
[List issues]
**Recommendations**:
[Fix recommendations]
---
### 2.1.1 Keyboard (Level A)
**Result**: [PASS / FAIL]
**Test Flow**: [Describe the task attempted]
**Evidence**:
- [[screenshot:N]]
- Accessibility tree excerpt: [relevant portion]
**Issues Found**:
| Step | Element | Issue |
|------|---------|-------|
| [step #] | [element] | [keyboard issue] |
**Recommendations**:
[Fix recommendations]
---
### 2.1.2 No Keyboard Trap (Level A)
**Result**: [PASS / FAIL / NOT APPLICABLE]
**Components Tested**:
| Component | Entry | Exit via Tab | Exit via Esc | Instructions |
|-----------|-------|--------------|--------------|--------------|
| [modal] | ✓ | ✓/✗ | ✓/✗ | ✓/✗ |
**Evidence**:
- [[screenshot:N]]
**Issues Found**:
[List issues]
**Recommendations**:
[Fix recommendations]
---
### 2.4.3 Focus Order (Level A)
**Result**: [PASS / FAIL]
**Evidence**:
- [[screenshot:N]]
- Focus sequence: [describe order]
**Issues Found**:
[List focus order problems]
**Recommendations**:
[Fix recommendations]
---
### 2.4.7 Focus Visible (Level AA)
**Result**: [PASS / FAIL / PARTIAL]
**Evidence**:
- [[screenshot:N]] showing focus on [element type]
**Issues Found**:
| Element Type | Focus Visible | Notes |
|--------------|---------------|-------|
| Buttons | ✓/✗ | [description] |
| Links | ✓/✗ | [description] |
| Inputs | ✓/✗ | [description] |
**Recommendations**:
[Fix recommendations]
---
### 4.1.2 Name, Role, Value (Level A)
**Result**: [PASS / FAIL / PARTIAL]
**Evidence**:
- Accessibility tree excerpt:
[relevant search_elements output]
**Issues Found**:
| Element | Role Issue | Name Issue | State Issue |
|---------|------------|------------|-------------|
| [element] | [issue] | [issue] | [issue] |
**Recommendations**:
[Fix recommendations]
---
## Issue Summary (by Severity)
### Critical
[List critical issues - prevent access entirely]
### Serious
[List serious issues - significant barriers]
### Moderate
[List moderate issues - degraded experience]
### Minor
[List minor issues - best practice violations]
---
## Next Steps
1. Address Critical and Serious issues first
2. Re-test after fixes using the same procedures
3. Consider automated testing tools for ongoing monitoring (axe, WAVE, Lighthouse)
4. Verify contrast issues with dedicated contrast checker tools
---
## Appendix: Screenshot Evidence
[Screenshots will be attached when exporting via download_current_chat_report_zip]
After completing the audit report, ask the user:
"Would you like me to export this accessibility audit report as a ZIP file with all screenshots included?"
Upon confirmation, use download_current_chat_report_zip tool to package the report with all captured screenshots.
The ZIP will contain:
report.md — The full audit report with working image linksscreenshots/ — All captured screenshots from the session>-
研发工作流入口 - 帮助用户快速进入正确的工作流阶段。 触发关键词: 工作流, 流程, 从哪开始, 帮我, 我该怎么做, 下一步, workflow, 不知道用什么, 新手引导, 怎么用
Periodically refreshed mirror of agents, skills, prompts and instruction files from public repositories.
Read-only Unity runtime performance snapshots — FPS, frame time, batches/draw calls, triangles/vertices, memory (total/mono/per-asset), object counts, AssetBundle stats. Exact signatures via GET /skills/schema.
Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads, Microsoft Ads, and Apple Ads accounts via 6 parallel audit agents. Amazon Ads, cross-platform attribution, and server-side tracking are covered by their standalon...
Unity Editor automation via REST API — create scripts, analyze scenes, manage assets, control editor, orchestrate workflows, run batch jobs, and route by Unity version. Triggers: Unity, Unity Skills, in Unity, automate Unity, Unity editor automation, create Unity script, scene summary, analyze Un...
Score product remarkability 1-10 to decide if it's worth promoting. Seth Godin's Purple Cow test. Triggers on: "is this product worth promoting", "should I promote", "product audit", "purple cow", "remarkable product", "is it remarkable", "rate this product", "product quality check", "worth my re...
Project cleanup and audit — find unused assets, content-hash duplicates, missing references, empty folders, large assets, dependency trees; two-step confirm-token delete. Exact signatures via GET /skills/schema.
**GUIDE SKILL** — Guide to the Skill Manager for Copilot extension. USE FOR: adding/removing skill repos, syncing skills, pushing feedback, configuring sync intervals, troubleshooting sync issues, understanding skill format. DO NOT USE FOR: creating new skills (use skill-creator), creating agents...
Configures Laravel Nightwatch data collection, sampling rates, filtering rules, and redaction policies. Use when setting up Nightwatch, managing data volume, protecting sensitive data (PII), or optimizing event collection for production workloads.
End-to-end workflow: research a topic and then write a LinkedIn post about it. Use this skill whenever the user wants the full pipeline — from a topic idea to a finished LinkedIn post. Triggers on: 'research and write a post about', 'create a LinkedIn post about [topic]', 'I want to post about', ...
Periodically refreshed mirror of agents, skills, prompts and instruction files from public repositories.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience