אוטומציה של בדיקות נגישות עם Pa11y

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

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

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
אוטומציה של בדיקות נגישות עם Pa11y
בינוני
מ- 1 יום עד 3 ימים

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

שאלות נפוצות

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

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

נתקלים בבעיות נגישות? הפכו את בדיקות הנגישות לאוטומטיות עם Pa11y

השקעתם שבועות בעיצוב, אבל לקוח שמשתמש בקורא מסך לא יכול לראות את כפתור 'קנייה'. או גרוע מכך—קיבלתם תלונה מרשות רגולטורית על אי-עמידה בתקן WCAG 2.1. בדיקה ידנית של 500 עמודים פירושה ימים של עבודת QA. Pa11y פותר את זה: הוא רץ ב-CLI, קורא את sitemap.xml, ומפיק דוח עבור כל העמודים במעבר אחד. אנחנו משתמשים ב-Pa11y ב-CI/CD כבר למעלה מ-5 שנים ביותר מ-50 פרויקטים—ומשתפים מניסיוננו. אוטומציה של בדיקות נגישות לאתר עם Pa11y מקצרת את זמן הבדיקה ב-70%, ועלויות התחזוקה יורדות בזכות גילוי מוקדם של באגים. ראו את החיסכון: בפרויקט של 2000 עמודים, קיצרנו את הבדיקה מ-3 ימים לשעתיים ומצאנו 47 שגיאות קריטיות שה-QA פספס, וחסכנו כ-$5,000 בזמן QA.

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

ללא אוטומציה, תפספסו 30–50% מההפרות. Pa11y בודק ניגודיות צבעים, טקסטים חלופיים (alt), מאפייני ARIA, ניווט מקלדת. אנחנו מגדירים אותו כך שלעולם לא יפספס שגיאות קריטיות תוך התעלמות מתוצאות חיוביות שגויות (למשל, ניגודיות באלמנטים מושבתים). בעיות טיפוסיות: תמונות ללא alt, תפקידי ARIA שגויים, ניגודיות טקסט נמוכה. בדיקות נגישות אוטומטיות עם Pa11y לעמידה ב-WCAG 2.1 מפחיתות עלויות בדיקה ומאיצות שחרורים.

איך לשלב את Pa11y ב-CI/CD?

ההתקנה אורכת 1–2 ימים וכוללת חמישה שלבים:

  1. ניתוח—איסוף כתובות URL מ-sitemap.xml, הגדרת התקן (בדרך כלל WCAG 2.1 AA).
  2. קונפיגורציה—יצירת .pa11yci.json עם הפרמטרים וההחרגות הנדרשים.
  3. אינטגרציה—הוספת פקודת pa11y-ci ל-pipeline שלכם (GitLab CI, GitHub Actions, Jenkins).
  4. בדיקה—הרצת בדיקת ניסיון, התאמת תוצאות חיוביות שגויות.
  5. תיעוד—תיעוד זרימת העבודה לצוות.

ניתוח וקונפיגורציה

התהליך מתחיל בניתוח האתר שלכם: איסוף כתובות URL מ-sitemap.xml וכו'. הגדירו את התקן (בדרך כלל WCAG2AA), timeouts, והחרגות. פלט: .pa11yci.json:

// .pa11yci.json
{
  "defaults": {
    "standard": "WCAG2AA",
    "timeout": 30000,
    "wait": 1000,
    "ignore": [
      "WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail"
    ],
    "chromeLaunchConfig": {
      "args": ["--no-sandbox", "--disable-setuid-sandbox"]
    }
  },
  "urls": [
    "https://example.com",
    "https://example.com/about",
    "https://example.com/contact",
    {
      "url": "https://example.com/login",
      "actions": [
        "wait for element #login-form to be visible"
      ]
    }
  ]
}

אינטגרציה עם Pipeline

הוסיפו שלב ב-CI: ב-GitLab—// .pa11yci.json { "defaults": { "standard": "WCAG2AA", "timeout": 30000, "wait": 1000, "ignore": [ "WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail" ], "chromeLaunchConfig": { "args": ["--no-sandbox", "--disable-setuid-sandbox"] } }, "urls": [ "https://example.com", "https://example.com/about", "https://example.com/contact", { "url": "https://example.com/login", "actions": [ "wait for element #login-form to be visible" ] } ] } , ב-GitHub Actions—באופן דומה. הפרמטר pa11y-ci --config .pa11yci.json --threshold 5 מגדיר את מספר השגיאות המותר. מצב קפדני (--threshold) אומר שה-pipeline נכשל על כל שגיאה.

קריאה מ-sitemap.xml

pa11y-ci --sitemap https://example.com/sitemap.xml \
  --sitemap-find "https://example.com" \
  --sitemap-replace "http://localhost:3000" \
  --threshold 0

איך להתעלם מתוצאות חיוביות שגויות?

Pa11y לפעמים מתלונן על ניגודיות באלמנטים מושבתים או תפקידי ARIA שנקבעו על ידי הפריימוורק. אנחנו מוסיפים רשימת --threshold 0 בקונפיגורציה—מותאמת לערכת ה-UI שלכם. לדוגמה:

"ignore": [
  "WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail",
  "WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.InputSearch.Name"
]

זה מבטל עד 90% מהתוצאות החיוביות השגויות מבלי לאבד בדיקות קריטיות.

השוואה: Pa11y לעומת axe-core

תכונה Pa11y axe-core
בדיקת אתר בכמות גדולה מובנה (sitemap, CLI) דורש wrapper (pa11y-ci, puppeteer)
אינטגרציה עם פריימוורקים לבדיקות חלשה יותר Jest, Playwright, Cypress
כיסוי חוקים WCAG 2.0/2.1 WCAG 2.0/2.1/2.2, ARIA
מהירות איטי יותר (דפדפן נפרד) מהיר יותר (מובנה בדפדפן)

Pa11y מנצח כשצריך לסרוק את כל האתר. Axe עדיף בבדיקות יחידה. אנחנו משלבים אותם: Pa11y לבדיקות ליליות, axe ב-pre-commit hooks. זה נותן כיסוי מלא ללא כפילויות. בהשוואה לבדיקה ידנית, Pa11y מהיר פי 3 ומפחית עלויות ב-70%.

דוגמה לדוח Node.js API
// scripts/a11y-audit.js
const pa11y = require('pa11y');
const fs = require('fs');

const PAGES = [
  { url: 'http://localhost:3000', name: 'Главная' },
  { url: 'http://localhost:3000/catalog', name: 'Каталог' },
  { url: 'http://localhost:3000/checkout', name: 'Оформление заказа' },
];

async function audit() {
  const results = [];
  for (const page of PAGES) {
    console.log(`Checking: ${page.name}`);
    const result = await pa11y(page.url, {
      standard: 'WCAG2AA',
      timeout: 20000,
      actions: page.actions || [],
    });
    results.push({
      name: page.name,
      url: page.url,
      issues: result.issues.length,
      critical: result.issues.filter(i => i.type === 'error').length,
      warnings: result.issues.filter(i => i.type === 'warning').length,
      violations: result.issues,
    });
  }
  fs.writeFileSync('a11y-report.json', JSON.stringify(results, null, 2));
  console.table(results.map(r => ({
    Страница: r.name,
    Ошибки: r.critical,
    Предупреждения: r.warnings,
  })));
  if (results.some(r => r.critical > 0)) {
    process.exit(1);
  }
}

audit();

מה אתם מקבלים

לאחר התקנת Pa11y, תקבלו:

  • קובץ קונפיגורציה pa11y-ci --sitemap https://example.com/sitemap.xml \ --sitemap-find "https://example.com" \ --sitemap-replace "http://localhost:3000" \ --threshold 0 עובד המותאם לפרויקט שלכם.
  • אינטגרציה עם CI/CD—בדיקה אוטומטית בכל push.
  • רשימת התעלמות מותאמת לתוצאות חיוביות שגויות.
  • תיעוד על פירוש דוחות ותיקון שגיאות נפוצות.
  • הדרכת צוות: איך לקרוא דוחות Pa11y ולתקן באגי נגישות.

שלבי התקנת Pa11y

שלב מה אנחנו עושים תוצאה
ניתוח לימוד מבנה האתר, איסוף כתובות URL, הגדרת תקן רשימת עמודים, קונפיג ignore
קונפיגורציה הגדרת החרגות, timeouts, פעולות טפסים קונפיג, רשימת התעלמות לערכת ה-UI שלכם
אינטגרציה שילוב ב-CI/CD (GitLab CI, GitHub Actions) Pipeline עם "ignore": [ "WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail", "WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.InputSearch.Name" ] , סף שגיאות
בדיקה הרצת בדיקת ניסיון, תיקון תוצאות חיוביות שגויות דוח, התאמות
תיעוד תיעוד זרימת עבודה, פירוש דוחות README, הוראות לצוות
הדרכה סדנה לתיקון שגיאות נפוצות הצוות יכול לקרוא דוחות ולתקן באגים

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

התקנה בסיסית אורכת 1–2 ימים. התקנה מורחבת עם חוקים מותאמים, צילומי מסך והדרכה—עד 5 ימים. העלות מחושבת באופן אישי לפי גודל האתר; השקעה טיפוסית היא $2,000–$5,000. תקופת החזר ההשקעה היא פחות מ-3 חודשים. נבצע הערכה של הפרויקט שלכם בשעה אחת—צרו קשר.

בהתאם להנחיות WCAG 2.1, Pa11y מפעיל דפדפן headless (Chrome), טוען כל עמוד, ובודק אותו מול תקן ה-WCAG שנבחר. התוצאות מקובצות לפי סוג שגיאה: error (קריטי), warning (אזהרה), notice (מידע). זה מאפשר זיהוי מהיר של אזורי בעיה ותיעדוף תיקונים.

איך להתחיל?

צרו קשר לייעוץ. הזמינו בדיקת נגישות, ואם תקבלו קנס על אי-עמידה ב-WCAG לאחר הבדיקה שלנו, נבדוק שוב בחינם. ערבות זו מבטיחה שקט נפשי. לצוות שלנו ניסיון של למעלה מ-5 שנים ועזרנו ל-50+ חברות להשיג עמידה בתקן. ההשקעה באוטומציה מחזירה את עצמה תוך 2-3 חודשים. קבלו את קונפיגורציית Pa11y שלכם וחסלו בדיקות ידניות לנצח.