mcpField
Q
qe-visual-accessibility

qe-visual-accessibility

github.com/proffesor-for-testingテスト・品質51988 回インストール今日更新
リポジトリ

qe-visual-accessibility について

qe-visual-accessibilityは、品質エンジニア向けのビジュアル、レスポンシブ、アクセシビリティテストのスキルです。スクリーンショット比較、WCAG 2.2監査、ブラウザー間の表示検証を扱います。

主な機能

  1. 01スクリーンショットのベースライン比較
  2. 02レスポンシブなビューポートテスト
  3. 03WCAG 2.2アクセシビリティ監査
  4. 04クロスブラウザー表示の検証
  5. 05ビジュアル差分レポート

活用シーン

  1. 01ステージングと本番のベースライン比較
  2. 02モバイル、タブレット、デスクトップでの表示確認
  3. 03WCAG 2.2 AAに基づくサイト監査
  4. 04ブラウザー間の表示差異の検出

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill qe-visual-accessibility

インストール後、Claude Code で/qe-visual-accessibilityを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
qe-visual-accessibility.yaml
schemas/
output.json
scripts/
validate-config.json

詳細

QE ビジュアルアクセシビリティ

目的

スクリーンショットの比較、レスポンシブデザインの検証、WCAG 2.2 準拠の確認など、v3 のビジュアルテストおよびアクセシビリティテスト機能の使用方法を説明します。

有効化

  • ビジュアルの表示をテストするとき
  • レスポンシブデザインを検証するとき
  • アクセシビリティへの準拠を確認するとき
  • ビジュアルのリグレッションを検出するとき
  • ブラウザー間のレンダリングをテストするとき

クイックスタート

# Visual regression test
aqe visual test --baseline production --current staging

# Responsive design test
aqe visual responsive --url https://example.com --viewports all

# Accessibility audit
aqe a11y audit --url https://example.com --standard wcag22-aa

# Cross-browser test
aqe visual cross-browser --url https://example.com --browsers chrome,firefox,safari

エージェントのワークフロー

// Visual regression testing
Task("Run visual regression", `
  Compare staging against production:
  - Capture screenshots of key pages
  - Detect pixel differences
  - Flag significant visual changes
  - Generate visual diff report
`, "qe-visual-tester")

// Accessibility audit
Task("Audit accessibility", `
  Run WCAG 2.2 AA compliance audit:
  - Check color contrast ratios
  - Verify keyboard navigation
  - Test screen reader compatibility
  - Validate ARIA labels
  Generate compliance report with fix suggestions.
`, "qe-accessibility-agent")

ブラウザーエンジン

このスキルのすべてのブラウザー自動化では、qe-browser のフリートスキル(Vibium エンジン)を使用します。.claude/skills/qe-browser/SKILL.md を参照してください。vibium バイナリは aqe init によってインストールされます。

ビジュアルテストの操作

1. ビジュアルリグレッション(qe-browser 経由)
# Establish baselines for the pages we care about
for path in / /login /dashboard /settings; do
  slug=$(echo "$path" | tr '/' '_' | sed 's/^_//' || echo root)
  vibium go "https://production.example.com$path" && vibium wait load
  node .claude/skills/qe-browser/scripts/visual-diff.js --name "baseline_${slug:-root}"
done

# Compare staging against those baselines
for path in / /login /dashboard /settings; do
  slug=$(echo "$path" | tr '/' '_' | sed 's/^_//' || echo root)
  vibium go "https://staging.example.com$path" && vibium wait load
  node .claude/skills/qe-browser/scripts/visual-diff.js \
    --name "baseline_${slug:-root}" --threshold 0.001  # 0.1% pixel diff
done

タイムスタンプやリアルタイムの件数などの動的な領域を無視するには、それらを除外するセレクターに差分の範囲を限定します。

node .claude/skills/qe-browser/scripts/visual-diff.js \
  --name hero --selector "main > .content"

従来のプログラムによる TypeScript API(シェルコマンドの実行よりこちらを好むテストで引き続き利用できます)。

await visualTester.compareScreenshots({
  baseline: {
    source: 'production',
    pages: ['/', '/login', '/dashboard', '/settings']
  },
  current: {
    source: 'staging',
    pages: ['/', '/login', '/dashboard', '/settings']
  },
  comparison: {
    threshold: 0.1,  // 0.1% pixel difference
    antialiasing: true,
    ignoreRegions: ['#dynamic-content', '.timestamp']
  }
});
2. レスポンシブテスト
await responsiveTester.test({
  url: 'https://example.com',
  viewports: [
    { name: 'mobile', width: 375, height: 667 },
    { name: 'tablet', width: 768, height: 1024 },
    { name: 'desktop', width: 1920, height: 1080 }
  ],
  checks: {
    layoutShift: true,
    contentOverflow: true,
    touchTargets: true,
    fontScaling: true
  }
});
3. アクセシビリティ監査
await accessibilityAgent.audit({
  url: 'https://example.com',
  standard: 'WCAG22-AA',
  checks: {
    perceivable: {
      colorContrast: true,
      textAlternatives: true,
      captions: true
    },
    operable: {
      keyboardAccessible: true,
      noTimingIssues: true,
      navigable: true
    },
    understandable: {
      readable: true,
      predictable: true,
      inputAssistance: true
    },
    robust: {
      compatible: true,
      parseErrors: true
    }
  }
});
4. クロスブラウザーテスト
await visualTester.crossBrowser({
  url: 'https://example.com',
  browsers: ['chrome', 'firefox', 'safari', 'edge'],
  versions: 'latest-2',
  comparisons: {
    betweenBrowsers: true,
    betweenVersions: true,
    againstBaseline: true
  }
});

WCAG 2.2 チェックリスト

レベル基準自動テスト可能
A非テキストコンテンツ✅
A情報と関係性一部
A色のコントラスト(4.5:1)✅
Aキーボード操作可能✅
Aフォーカスの可視化✅
AAリフロー✅
AAテキスト間隔✅
AAA強化されたコントラスト(7:1)✅

ビジュアルテストレポート

interface VisualReport {
  summary: {
    pagesCompared: number;
    differencesFound: number;
    passRate: number;
  };
  comparisons: {
    page: string;
    viewport: string;
    baseline: string;
    current: string;
    diff: string;
    diffPercentage: number;
    status: 'pass' | 'fail' | 'review';
  }[];
  accessibility: {
    violations: A11yViolation[];
    passes: number;
    incomplete: number;
    score: number;
  };
  responsive: {
    viewport: string;
    issues: ResponsiveIssue[];
  }[];
}

アクセシビリティレポート

interface AccessibilityReport {
  summary: {
    score: number;
    violations: number;
    warnings: number;
    passes: number;
  };
  violations: {
    id: string;
    impact: 'critical' | 'serious' | 'moderate' | 'minor';
    description: string;
    wcag: string[];
    elements: {
      selector: string;
      html: string;
      issue: string;
      fix: string;
    }[];
  }[];
  compliance: {
    wcagLevel: 'A' | 'AA' | 'AAA';
    criteriasMet: number;
    criteriasTotal: number;
  };
}

CI/CD 統合

visual_testing:
  on_pr:
    - capture_screenshots
    - compare_to_baseline
    - run_a11y_audit

  thresholds:
    visual_diff: 0.1
    a11y_violations: 0

  artifacts:
    - screenshots/
    - diffs/
    - a11y-report.html

連携

主要エージェント:qe-visual-tester、qe-accessibility-agent、qe-responsive-tester コーディネーター:qe-visual-coordinator 関連スキル:qe-test-execution、qe-quality-assessment

コメント