אוטומציה של בדיקות נגישות עם axe-core ו-Playwright ב-CI/CD

כל בקשה שנייה למשיכה לפרונטאנד מביאה רגרסיות נגישות: טקסטים חלופיים נעלמים, ניגודיות נשברת, פוקוס אובד. אנחנו משלבים את axe-core, Playwright ו-Lighthouse CI ישירות בצנרת ה-CI/CD שלכם. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת ועד תמיכה, תוך הבטחת פעילות יציבה ותחזוקה שוטפת.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
אוטומציה של בדיקות נגישות עם axe-core ו-Playwright ב-CI/CD
בינוני
~2-3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1501
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1306
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1049
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

למה להפוך את בדיקות הנגישות לאוטומטיות?

כל PR פרונטאנד שני מביא רגרסיית נגישות: טקסטי alt חסרים, ניגודיות שבורה, פוקוס שאבד. בדיקות ידניות לוקחות שעות, ומשלוח עם הפרות WCAG 2.1 מסכן בקנסות ובאובדן קהל. אנחנו הופכים את הבקרה לאוטומטית: שילוב axe-core, Playwright ו-Lighthouse CI ישירות לתוך ה-CI/CD pipeline שלכם. התוצאה — כל commit בודק נגישות, וה-build נכשל על הפרות חדשות. החיסכון ב-QA משמעותי ומכסה את עלות ההטמעה תוך חודשים.

לדוגמה, WebAIM מצאו שכלים אוטומטיים תופסים 80% מבעיות הנגישות.

היתרונות של בדיקות נגישות אוטומטיות

רגרסיות WCAG קורות בלי לשים לב: מפתח משנה צבע של כפתור, מוסיף אייקון SVG ללא title, או עוטף טופס ב-<fieldset> שגוי. ביקורות ידניות מפספסות פרטים כאלה. אוטומציה נותנת משוב מיידי. בפרויקט אחד, קיצרנו את זמן בדיקת הנגישות מ-4 שעות ל-10 דקות — הבדיקות תפסו 80% מהשגיאות לפני שהקוד הגיע ל-QA. בדיקות אוטומטיות ניתנות להרחבה: עשרות עמודים נבדקים תוך דקות.

איך אנחנו הופכים את זה לאוטומטי: תוכנית שלב-אחר-שלב

  1. ביקורת מצב נוכחי: הרצת Lighthouse ו-Pa11y על כל העמודים, תיעוד כל ההפרות ומיפוי נתיבים קריטיים.
  2. הגדרת כלים: התקנת axe-core ל-Jest, @axe-core/playwright ל-Playwright, הגדרת Lighthouse CI עם תקציב של 90+.
  3. כתיבת בדיקות: כיסוי קומפוננטות דרך Storybook (100% קומפוננטות ויזואליות), כתיבת תרחישי E2E לעמודים מרכזיים (בית, קטלוג, טופס, תשלום).
  4. שילוב דוחות: הגדרת תגובה אוטומטית ב-PR עם טבלת תוצאות — build ירוק או קישור לדוח שגיאות.

הגדרת בדיקות נגישות על כל Commit

התהליך כולל ארבעה שלבים: ביקורת מצב נוכחי, הגדרת כלים, כתיבת בדיקות ושילוב דוחות. אנחנו משתמשים בטכנולוגיות הבאות:

  • axe-core (jest) — בדיקות קומפוננטות של רכיבי React/Vue דרך Storybook (כיסוי 100%).
  • Playwright + @axe-core/playwright — בדיקות E2E לעמודים מרכזיים (בית, קטלוג, טופס, תשלום).
  • Lighthouse CI — ביקורת עמודים עם תקציב של לפחות 90/100 בנגישות.
  • Pa11y — סריקה שבועית של כל העמודים הציבוריים דרך sitemap.
כלי רמה מהירות מה הוא בודק
axe-core (jest) קומפוננטה <1 שנייה WCAG 2.1 AA, aria, תפקידים
Playwright + axe E2E ~2 דקות/עמוד אינטראקציות, מודאלים, אנימציות
Lighthouse CI עמוד ~1 דקה + ביצועים, SEO, Best Practices
Pa11y ביקורת מלאה ~10 דקות כל העמודים, 400+ כללים

בהשוואה ל-W3C validator, השילוב של Playwright ו-axe-core מוצא פי 3 יותר שגיאות הקשורות לתוכן דינמי. וה-pipeline האוטומטי של GitHub Actions רץ פי 50 מהר יותר מאשר ריצה ידנית.

דוגמה לתצורת GitHub Actions

# .github/workflows/accessibility.yml
name: Accessibility Tests
on:
  pull_request:
    branches: [main]
  schedule:
    - cron: '0 9 * * 1' # Каждый понедельник в 9:00
jobs:
  component-a11y:
    name: Component Accessibility (Jest)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npm ci
      - run: npm test -- --testPathPattern="a11y|accessibility" --coverage=false
        env:
          CI: true
  e2e-a11y:
    name: E2E Accessibility (Playwright)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npm ci
      - run: npx playwright install chromium --with-deps
      - name: Start app
        run: npm run build && npm start &
      - name: Wait for app
        run: npx wait-on http://localhost:3000 --timeout 60000
      - name: Run accessibility tests
        run: npx playwright test tests/accessibility/
      - uses: actions/upload-artifact@v4
        if: failure()
        with:
          name: playwright-report
          path: playwright-report/
  lighthouse-a11y:
    name: Lighthouse Audit
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npm ci && npm run build
      - name: Run Lighthouse CI
        uses: treosh/lighthouse-ci-action@v10
        with:
          urls: |
            http://localhost:3000
            http://localhost:3000/catalog
          budgetPath: .lighthouserc.json
          temporaryPublicStorage: true
        env:
          LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}

Playwright: בדיקת נגישות עמוד

// tests/accessibility/pages.spec.ts
import { test, expect } from '@playwright/test';
import AxeBuilder from '@axe-core/playwright';

const PAGES_TO_TEST = [
  { path: '/', name: 'Главная' },
  { path: '/catalog', name: 'Каталог' },
  { path: '/contact', name: 'Контакты' },
];

for (const { path, name } of PAGES_TO_TEST) {
  test(`${name}: WCAG 2.1 AA`, async ({ page }) => {
    await page.goto(path);
    await page.waitForLoadState('networkidle');

    const results = await new AxeBuilder({ page })
      .withTags(['wcag2a', 'wcag2aa'])
      .analyze();

    // Детальный вывод нарушений
    if (results.violations.length > 0) {
      const summary = results.violations.map(v =>
        `[${v.impact}] ${v.id}: ${v.description} (${v.nodes.length} элементов)`
      ).join('\n');
      console.error(`Нарушения на "${name}":\n${summary}`);
    }

    expect(results.violations).toHaveLength(0);
  });
}

דיווח ב-Pull Request

---
# Комментарий к PR с результатами аудита
name: Comment PR
uses: thollander/actions-comment-pull-request@v2
if: always()
with:
  message: |
    ## Отчёт доступности

    | Инструмент | Статус |
    |---|---|
    | Jest + axe | ${{ job.status == 'success' && '✅ Пройден' || '❌ Ошибки' }} |
    | Playwright | ${{ needs.e2e-a11y.result == 'success' && '✅ Пройден' || '❌ Ошибки' }} |
    | Lighthouse | ${{ needs.lighthouse-a11y.result == 'success' && '✅ ≥ 90' || '❌ < 90' }} |
"}

השוואת פלטפורמות CI לבדיקות נגישות

פלטפורמה שילוב axe מהירות התנעה מחיר
GitHub Actions פעולה מוכנה ~30 שניות חינם ל-repos ציבוריים
GitLab CI דרך סקריפטים ~40 שניות חינם עד 400 דקות
Jenkins תוספים ~1 דקה חינם

מה העלות ומה לוח הזמנים?

pipeline נגישות מלא ב-CI/CD עם Jest, Playwright, Lighthouse ודיווח ב-PR: 3–4 ימי עבודה. העלות מתחילה ב-$3,500 ומוחזרת תוך חודשים. לקוחות מדווחים על חיסכון שנתי ממוצע של $15,000 בעלויות בדיקות ידניות. אם צריך להרחיב את הבדיקות לכל העמודים או להוסיף כללים מותאמים אישית, לוח הזמנים עשוי להתארך לשבוע.

תוצרים

מה כלול
  • ביקורת מצב נגישות נוכחי וזיהוי עמודים קריטיים.
  • הגדרת CI/CD pipeline מותאם לטכנולוגיה שלכם (React, Vue, Angular או אתר סטטי).
  • כתיבת בדיקות: קומפוננטות (Storybook), E2E (Playwright), ביקורת עמודים (Lighthouse).
  • שילוב דוחות PR (תגובה אוטומטית עם טבלת תוצאות).
  • תיעוד חריגים לוידג'טים של צד שלישי.
  • הדרכת צוות: איך לקרוא דוחות, להוסיף בדיקות חדשות ולטפל בתוצאות חיוביות שגויות.
  • חודש תמיכה לאחר ההטמעה.
  • גישה לתצורת ה-pipeline ול-repo של קוד הבדיקות.

תוצאות והבטחות

המהנדסים שלנו מחזיקים בהסמכת WCAG ובעלי ניסיון של 7+ שנים בפיתוח web. הטמענו pipelines כאלה עבור 30+ לקוחות — כולם השיגו מעבר יציב בביקורות. אנחנו מבטיחים שאחרי ההתקנה תקבלו:

  • הפחתה של 60–80% בזמן QA ידני.
  • זיהוי רגרסיות לפני deployment.
  • שמירה על ציוני Core Web Vitals גבוהים.

נעריך את הפרויקט שלכם תוך יום אחד — צרו קשר לייעוץ. הזמינו הטמעת pipeline ושכחו מרגרסיות נגישות.