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

accessibility-commerce无障碍商务

Agent Skill

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

总安装

428

周安装

18

GitHub Stars

19

下载量

150
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill accessibility-commerce

简介

专注于电商场景下的无障碍合规支持。

  • 涵盖购物车更新提示、键盘导航、焦点管理等关键交互环节。
  • 提供 WCAG 2.1 AA 级别的具体实施指导与风险规避策略。
  • 适用于新站建设或已有站点改造时的合规性加固需求。
  • accessibility-commerce 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Accessibility for E-commerce

Overview

WCAG 2.1 Level AA compliance covers screen reader announcements for dynamic cart updates, keyboard navigation for interactive components (carousels, quantity steppers, modals), focus management, and color contrast requirements. Accessible stores reduce legal risk under ADA, AODA, and EAA, and typically convert better across all users.

When to Use This Skill

  • When an accessibility audit reveals WCAG violations blocking legal compliance (ADA, AODA, EAA)
  • When screen reader users report inability to complete purchases
  • When keyboard-only users cannot navigate the checkout flow
  • When automated tools (axe, WAVE) surface critical issues that need remediation
  • When building a new storefront and baking in accessibility from the start

Core Instructions

Step 1: Determine the merchant's platform and choose the right approach

PlatformRecommended ApproachWhy
ShopifyUse a WCAG-compliant theme (Dawn, Sense) from the Theme Store; install AccessiBe or EqualWeb app for automated overlays; edit Liquid for custom fixesShopify's built-in themes have improved a11y significantly; theme editor + Liquid edits handle most issues
WooCommerceChoose an accessible theme (Astra, Kadence); install WP Accessibility plugin (free) for skip links, ARIA roles, and form labelsWP Accessibility adds critical fixes without code; Gutenberg blocks have reasonable built-in accessibility
BigCommerceUse Cornerstone theme (most accessible); enable the built-in accessibility checker in the Theme Editor; install ADA accessibility apps from the marketplaceCornerstone meets most WCAG AA requirements out of the box
Custom / HeadlessImplement ARIA patterns manually using the techniques in Step 4; test with NVDA+Firefox and VoiceOver+SafariFull control requires full responsibility — use the component patterns below

Step 2: Run an accessibility audit

Before making changes, identify what needs fixing:

  1. Automated scan: Run axe DevTools browser extension on your homepage, product page, cart, and checkout
  2. WAVE tool: Visit wave.webaim.org and scan your store URL
  3. Keyboard test: Tab through your entire checkout without a mouse — every interactive element must be reachable and operable
  4. Screen reader test: Test with VoiceOver (Mac/iOS) or NVDA (Windows/Firefox) — navigate your product listing and complete a purchase

Common issues found on most stores:

  • Images without meaningful alt text
  • Color-only indicators (e.g., red "out of stock" with no text)
  • Form fields without labels
  • Modals that don't trap focus or respond to Escape
  • Add-to-cart buttons that don't announce success to screen readers

Step 3: Platform-specific fixes


Shopify

Theme-level fixes (no code required):

  1. Go to Online Store → Themes → Customize
  2. Set alt text on all images: Products → Media → Edit alt text
  3. Under Theme settings → Typography, ensure font sizes are at least 16px for body text
  4. Enable Skip to content link in Header settings (available in Dawn and most modern themes)

Liquid code fixes for custom themes:

Add ARIA live region for cart updates — edit your cart-notification.liquid or equivalent snippet:

<div aria-live="polite" aria-atomic="true" class="sr-only" id="cart-live-region">
  {{ cart.item_count }} items in cart
</div>

For color swatches in variant selectors, wrap in a <fieldset> with <legend>:

<fieldset>
  <legend>{{ option.name }}: <span>{{ selected_value }}</span></legend>
  {% for value in option.values %}
    <label class="swatch {% if forloop.first %}selected{% endif %}">
      <input type="radio" name="{{ option.name }}" value="{{ value }}"
             {% if value == selected_value %}checked{% endif %} />
      <span class="sr-only">{{ value }}</span>
      <span class="swatch-color" style="background-color: {{ value | downcase }}" aria-hidden="true"></span>
    </label>
  {% endfor %}
</fieldset>

App options:

  • AccessiBe (Shopify App Store, ~$49/mo) — automated WCAG 2.1 AA overlay; adds screen reader adjustments and keyboard navigation without theme edits
  • EqualWeb — similar overlay approach with a free tier

WooCommerce

Plugin-based fixes:

  1. Install WP Accessibility (free, wordpress.org) — adds skip navigation links, ARIA landmarks, removes title attributes from links, and fixes form labels
  2. Install Accessibility Suite for WooCommerce — adds ARIA labels to cart and checkout elements automatically

Theme-based fixes:

  • Use Astra or Kadence theme — both have strong WCAG AA coverage built in
  • In Appearance → Customize → Typography, set base font size to 16px minimum

Manual fixes for WooCommerce checkout fields — add to your child theme's functions.php:

// Associate checkout field labels with inputs
add_filter('woocommerce_checkout_fields', function($fields) {
    foreach ($fields as $fieldset => &$fieldset_fields) {
        foreach ($fieldset_fields as $key => &$field) {
            if (!isset($field['label'])) {
                $field['label'] = ucfirst(str_replace('_', ' ', $key));
            }
        }
    }
    return $fields;
});

BigCommerce

  1. Start with Cornerstone theme — it has the best baseline accessibility of all BigCommerce themes
  2. Go to Storefront → My Themes → Customize and enable the accessibility settings panel
  3. For color contrast: in Theme Editor, set button background color with sufficient contrast against white text (minimum 4.5:1 ratio)
  4. Install an accessibility app from the BigCommerce App Marketplace (search "accessibility") for overlay-style fixes

Custom / Headless

Implement these patterns in your React/Vue/Svelte components:

ARIA live region for cart updates:

// Place once at the app root; update message after add-to-cart
export function CartLiveRegion({ message }) {
  return (
    <div role="status" aria-live="polite" aria-atomic="true"
         style={{ position: 'absolute', width: 1, height: 1, overflow: 'hidden', clip: 'rect(0,0,0,0)' }}>
      {message}
    </div>
  );
}

Accessible variant selector using radio inputs:

<fieldset>
  <legend>Color: <strong>{selectedColor}</strong></legend>
  {colors.map(color => (
    <label key={color.value} className={`swatch ${!color.available ? 'unavailable' : ''}`}>
      <input type="radio" name="color" value={color.value}
             checked={selectedColor === color.value}
             disabled={!color.available}
             onChange={() => onColorChange(color.value)}
             className="sr-only" />
      <span className="swatch-visual" style={{ background: color.hex }} aria-hidden="true" />
      <span className="sr-only">{color.label}{!color.available ? ' (out of stock)' : ''}</span>
    </label>
  ))}
</fieldset>

Focus management for modals — use native <dialog> which handles focus trapping automatically:

const dialogRef = useRef(null);
useEffect(() => {
  if (isOpen) dialogRef.current.showModal();
  else dialogRef.current.close();
}, [isOpen]);

return (
  <dialog ref={dialogRef} onClose={onClose}>
    {/* focus is automatically trapped inside <dialog> */}
    <button onClick={onClose} aria-label="Close">×</button>
    {children}
  </dialog>
);

Visible focus indicators (never remove outlines):

:focus-visible {
  outline: 3px solid #2b6cb0;
  outline-offset: 2px;
}
:focus:not(:focus-visible) { outline: none; }

Step 4: Validate and test

  1. Re-run the axe scan after changes and verify critical and serious violations are resolved
  2. Test keyboard navigation: Tab → all interactive elements reachable; Enter/Space → activates buttons; Escape → closes modals
  3. Test with VoiceOver (Mac): Cmd + F5 to enable, navigate using Tab and arrow keys; verify cart updates are announced
  4. Check color contrast with the WebAIM Contrast Checker — body text needs 4.5:1, large text 3:1

Best Practices

  • Never remove focus outlines — only suppress them for mouse users with :focus:not(:focus-visible) so keyboard users retain visible focus
  • Use semantic HTML first<button> for actions, <a> for navigation, <table> for tabular data; ARIA attributes cannot fix non-semantic markup
  • Test with a real screen reader — automated tools catch only 30-40% of real issues; NVDA+Firefox and VoiceOver+Safari are the most common combinations
  • Make touch targets at least 44×44px — this also benefits motor-impaired mouse users
  • Write descriptive button text — "Add to Cart" is fine; "Click here" is not; screen reader users navigate by button and link text
  • Caption all product videos — use auto-captions as a starting point but verify accuracy for product names and pricing

Common Pitfalls

ProblemSolution
Cart count badge announced as "3" with no contextWrap in aria-label="3 items in cart" or use aria-live="polite" region that announces changes with full context
Color swatch selection not announcedUse <input type="radio"> with <fieldset>/<legend> wrapping the swatch group; div/span click handlers are invisible to screen readers
Modal focus not trappedUse the native <dialog> element (96%+ browser support) which provides focus trapping for free
Form errors not announcedAdd role="alert" to error summary or aria-invalid="true" + aria-describedby on each failing field
Overlay accessibility apps cause conflictsTest thoroughly after installing any overlay app — they sometimes break custom theme JavaScript; validate with axe before and after

Related Skills

  • @responsive-storefront
  • @checkout-flow-optimization
  • @mega-menu-builder
  • @search-autocomplete

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

35.09%
按下载量换算53

Claude

30.27%
按下载量换算45

Cursor

15.81%
按下载量换算24

Gemini CLI

9.14%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

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

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills