0Pricing
HTML Academy · Lezione

Pa11y e axe per i test di accessibilità

Automatizzare i controlli di accessibilità con pa11y e axe-core

Pa11y e axe per i test di accessibilità è una lezione HTML Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento HTML Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso HTML Academy include 4 lezioni in totale.

Strumenti automatizzati per l'accessibilità

Pa11y e axe-core sono strumenti open source che automatizzano i test di accessibilità allineati alle WCAG. Entrambi analizzano una pagina, applicano regole al DOM e segnalano le violazioni. Rilevi automaticamente la maggior parte dei problemi di accessibilità e riservi i test manuali ai restanti.

axe-core: la libreria

axe-core è una libreria JavaScript che alimenta gli audit di accessibilità in Chrome DevTools, Lighthouse, Jest, Cypress, Playwright e molti altri strumenti. È lo standard de facto per i test automatizzati di accessibilità: ampia copertura delle regole e basso tasso di falsi positivi.

Estensione del browser axe

L'estensione per browser axe DevTools (Chrome, Firefox, Edge) aggiunge una scheda "Accessibilità" a DevTools. Faccia clic su "Scansiona tutte le pagine" per visualizzare ogni violazione con gli elementi interessati, la gravità e le indicazioni per la correzione. È ideale per gli audit occasionali durante lo sviluppo.

CLI di Pa11y

Pa11y è una CLI Node.js: npx pa11y https://example.com esegue l'audit di un URL. Restituisce un elenco di problemi nel terminale. Lo utilizzi per audit rapidi, negli script shell o per un'integrazione CI con un overhead ridotto.

npx pa11y https://example.com
# or for multiple pages
npx pa11y-ci --sitemap https://example.com/sitemap.xml

Integrazione di axe con Playwright

Combini axe-core con Playwright per i test end-to-end di accessibilità: const results = await new AxeBuilder({ page }).analyze(). Verifichi che results.violations.length === 0. In questo modo le regressioni vengono rilevate prima di raggiungere la produzione.

import { test, expect } from "@playwright/test";
import AxeBuilder from "@axe-core/playwright";

test("home page accessibility", async ({ page }) => {
  await page.goto("/");
  const results = await new AxeBuilder({ page }).analyze();
  expect(results.violations).toEqual([]);
});

Jest-axe per i componenti

jest-axe esegue axe sui componenti renderizzati nei test Jest. Esegua il rendering del componente con React Testing Library e passi il container ad axe: expect(await axe(container)).toHaveNoViolations(). Ogni test del componente include ora un controllo di accessibilità.

Configurazione delle regole

Entrambi gli strumenti consentono di disabilitare o modificare le regole per progetto: disattivi le regole in conflitto con decisioni progettuali intenzionali e aumenti il livello di severità per le regole note come critiche. Documenti ogni regola disabilitata con un commento che ne spieghi il motivo: è un contesto necessario agli sviluppatori futuri.

Limiti dell'automazione

Gli strumenti automatizzati rilevano circa il 30-40% dei problemi WCAG. Per il resto (ordine di messa a fuoco significativo, testo alt comprensibile, gerarchia semantica delle intestazioni, utilizzo di ARIA che rifletta il comportamento effettivo dell'interfaccia) è necessaria una revisione umana. L'automazione è necessaria, ma non sufficiente, per l'accessibilità.

Test con tecnologie assistive reali

Esegua test con NVDA su Windows, VoiceOver su Mac e JAWS per il pubblico aziendale. I test con lettori di schermo reali rivelano problemi che l'automazione non può rilevare: annunci confusi, landmark non funzionanti e ordine di messa a fuoco illogico. Un test per ogni release con ciascun lettore di schermo principale costituisce una base ragionevole.

Test con gli utenti

La validazione dell'accessibilità più efficace proviene da utenti con disabilità che utilizzano il prodotto reale. Li recluti tramite società di consulenza sull'accessibilità, servizi universitari per studenti con disabilità o piattaforme di test come UserTesting.com. I loro riscontri nel mondo reale rilevano problemi che nessuno strumento automatizzato riesce a individuare.

Strategia di integrazione in CI

Blocchi le PR in caso di regressioni nell'accessibilità (nuove violazioni), ma non per le violazioni legacy (presenti nella baseline esistente). In questo modo il livello di qualità continua a crescere senza impedire il rilascio. Tenga traccia nel tempo del numero totale di violazioni come indicatore anticipatore dello stato generale dell'accessibilità.

Combinazione degli strumenti

Utilizzi più strumenti: axe per il controllo automatizzato completo, Pa11y come seconda opinione e test manuali con lettori di schermo per colmare il divario qualitativo. La sovrapposizione è ridotta; insieme, questi strumenti coprono più problemi di quanti ne possa individuare uno solo.

Verifica delle conoscenze

Quale percentuale dei problemi di accessibilità WCAG può essere rilevata in modo affidabile da strumenti automatizzati come axe e Pa11y?

Riepilogo

axe-core alimenta la maggior parte degli audit di accessibilità; l'estensione per browser è ideale per i controlli occasionali, mentre le integrazioni con jest-axe e Playwright sono adatte ai test continui. Pa11y è una CLI complementare. L'automazione rileva circa il 30-40% dei problemi; la affianchi a test manuali con lettori di schermo (NVDA, VoiceOver) e a test con utenti con disabilità reali per una copertura completa. Blocchi le nuove regressioni in CI senza bloccare il lavoro a causa della baseline legacy.

Domande Frequenti

La lezione «Pa11y e axe per i test di accessibilità» è gratuita?

Sì — il testo completo di «Pa11y e axe per i test di accessibilità» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso HTML Academy, passa a CoddyKit PRO. Il corso HTML Academy include 4 lezioni in totale.

Cosa imparerò in «Pa11y e axe per i test di accessibilità»?

Automatizzare i controlli di accessibilità con pa11y e axe-core Eserciti HTML Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare HTML Academy?

Non è richiesta alcuna esperienza precedente. HTML Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Pa11y e axe per i test di accessibilità»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione HTML Academy?

Sì. Ogni lezione HTML Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Il W3C Markup Validator
  2. Audit HTML con Lighthouse
  3. Pa11y e axe per i test di accessibilità
  4. Test snapshot dell’HTML
← Torna a HTML Academy