Matrice di copertura
Cosa verifichiamo in modo automatico, cosa in parte e cosa deve fare una persona
Ogni scanner di accessibilità trova solo una parte di ciò che trova un audit. Invece di lasciarlo nel vago, qui lo indichiamo criterio per criterio WCAG 2.2 A/AA: quali violazioni il nostro scanner trova da sé, dove mette da parte i casi da controllare e dove non può giudicare affatto. Si basa su ciò che lo scanner esegue realmente, non su ciò che vorremmo.
Versione 1.0 · 2026-09-27 · WCAG 2.2 A/AA · axe-core 4.12.0
Questa non è una dichiarazione di conformità
Una scansione pulita non significa che una pagina soddisfi le WCAG. La verifica automatica copre circa la metà di ciò che trova un audit condotto da un esperto, e diversi criteri possono essere valutati solo da una persona che usa il sito. Leggi questa matrice come una descrizione dello strumento, non come un certificato.
- automatico
- 2 / 55
- Lo scanner trova da sé e con certezza le violazioni più comuni; ciò che gli sfugge è raro.
- in parte automatico
- 21 / 55
- Lo scanner trova con certezza una parte delle violazioni e mette da parte i casi dubbi per una persona; il resto è lavoro umano.
- giudizio umano
- 32 / 55
- Nessuna verifica automatica; solo una persona che usa il sito può valutarlo.
- Regole eseguite
- 70
- Regole axe-core collegate a WCAG 2.2 A/AA che ogni scansione esegue.
Come leggere la tabella: il criterio (titolo WCAG ufficiale), il livello, come lo copriamo e, in una frase, cosa la macchina vede e cosa non vede, seguito dai nomi delle regole perché uno specialista possa verificarli nella documentazione di axe-core. “Correzione disponibile” segnala i criteri per i quali la nostra app Shopify propone una modifica pronta all’uso nel codice del tema.
1. Percepibile
| Criterio | Livello | Copertura | Cosa vede la macchina e cosa no |
|---|---|---|---|
| 1.1.1 Non-text Content | A | in parte automaticoCorrezione disponibile nell’app Shopify | Finds images, image buttons, SVGs and objects without a text alternative. Whether an existing alt text is accurate or an image is truly decorative needs a person. image-alt · input-image-alt · object-alt · role-img-alt · svg-img-alt · aria-meter-name · aria-progressbar-name |
| 1.2.1 Audio-only and Video-only (Prerecorded) | A | in parte automatico | Flags <audio> elements without a captions track. Transcripts placed elsewhere on the page are not detected. audio-caption |
| 1.2.2 Captions (Prerecorded) | A | in parte automatico | Flags <video> elements without a captions track. Embedded players (YouTube, Vimeo) and open captions burned into the picture need a person. video-caption |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) | A | giudizio umano | No automated test exists for the presence or quality of audio description. |
| 1.2.4 Captions (Live) | AA | giudizio umano | Live media cannot be assessed by a page scan. |
| 1.2.5 Audio Description (Prerecorded) | AA | giudizio umano | No automated test exists for audio description. |
| 1.3.1 Info and Relationships | A | in parte automaticoCorrezione disponibile nell’app Shopify | Finds broken lists, description lists, table header relationships and ARIA parent/child structures. Whether headings, landmarks and form groupings reflect the visual structure needs a person. list · listitem · definition-list · dlitem · aria-required-children · aria-required-parent · td-has-header · td-headers-attr · th-has-data-cells · table-fake-caption · p-as-heading · aria-hidden-body |
| 1.3.2 Meaningful Sequence | A | giudizio umano | Reading order versus visual order is not machine-decidable. |
| 1.3.3 Sensory Characteristics | A | giudizio umano | Instructions that rely on shape, colour or position ("click the round button") need a person to spot. |
| 1.3.4 Orientation | AA | in parte automatico | Finds CSS that locks the page to one orientation. Scripts that do the same are not detected. css-orientation-lock |
| 1.3.5 Identify Input Purpose | AA | in parte automatico | Checks that autocomplete values are valid. Whether a field that should carry one is missing it needs a person. autocomplete-valid |
| 1.4.1 Use of Color | A | in parte automatico | Finds links in running text that differ from the text by colour alone. Colour-only meaning in charts, forms and status needs a person. link-in-text-block |
| 1.4.2 Audio Control | A | in parte automatico | Finds media that autoplays with sound for more than three seconds without controls. no-autoplay-audio |
| 1.4.3 Contrast (Minimum) | AA | in parte automatico | Measures text contrast against solid backgrounds. Text over images, gradients or overlapping layers is set aside for a person to check. color-contrast |
| 1.4.4 Resize Text | AA | in parte automaticoCorrezione disponibile nell’app Shopify | Finds the viewport setting that blocks zooming. Whether the page still works at 200% needs a person. meta-viewport |
| 1.4.5 Images of Text | AA | giudizio umano | Whether an image contains text is not machine-decidable in this scanner. |
| 1.4.10 Reflow | AA | giudizio umano | Requires viewing the page at 320 CSS pixels wide; not part of the scan. |
| 1.4.11 Non-text Contrast | AA | giudizio umano | Contrast of icons, borders and controls is not measured. |
| 1.4.12 Text Spacing | AA | in parte automatico | Finds inline styles that prevent users from overriding text spacing. Whether content breaks when spacing is increased needs a person. avoid-inline-spacing |
| 1.4.13 Content on Hover or Focus | AA | giudizio umano | Tooltip and popover behaviour needs interaction to assess. |
2. Utilizzabile
| Criterio | Livello | Copertura | Cosa vede la macchina e cosa no |
|---|---|---|---|
| 2.1.1 Keyboard | A | in parte automatico | Finds scroll areas and frames that keyboard users cannot reach. Custom controls that only work with a mouse need a person. scrollable-region-focusable · frame-focusable-content · server-side-image-map |
| 2.1.2 No Keyboard Trap | A | giudizio umano | Keyboard traps only show when tabbing through the page. |
| 2.1.4 Character Key Shortcuts | A | giudizio umano | Single-key shortcuts are not detectable from the page. |
| 2.2.1 Timing Adjustable | A | in parte automatico | Finds pages that refresh or redirect on a timer. Session time-outs and countdowns in scripts need a person. meta-refresh |
| 2.2.2 Pause, Stop, Hide | A | in parte automatico | Finds the blink and marquee elements. Carousels and animations need a person. blink · marquee |
| 2.3.1 Three Flashes or Below Threshold | A | giudizio umano | Flashing content cannot be measured by a page scan. |
| 2.4.1 Bypass Blocks | A | in parte automatico | Checks for a skip link, landmarks or headings. Whether the skip link actually works needs a person. bypass |
| 2.4.2 Page Titled | A | automatico | Finds pages without a title. Whether the title is descriptive is a judgement, but a missing one is certain. document-title |
| 2.4.3 Focus Order | A | giudizio umano | Focus order needs tabbing through the page. |
| 2.4.4 Link Purpose (In Context) | A | in parte automaticoCorrezione disponibile nell’app Shopify | Finds links and image-map areas without any accessible name. Whether "read more" makes sense in context needs a person. link-name · area-alt |
| 2.4.5 Multiple Ways | AA | giudizio umano | Whether there is a second way to reach pages (search, sitemap, navigation) is a site-level judgement. |
| 2.4.6 Headings and Labels | AA | giudizio umano | Descriptiveness of headings and labels is not machine-decidable. |
| 2.4.7 Focus Visible | AA | giudizio umano | Needs the page to be operated with a keyboard while watching the focus indicator. |
| 2.4.11 Focus Not Obscured (Minimum) | AA | giudizio umano | Sticky headers and cookie bars covering the focused element only show when tabbing. |
| 2.5.1 Pointer Gestures | A | giudizio umano | Multipoint and path gestures are not detectable from the page. |
| 2.5.2 Pointer Cancellation | A | giudizio umano | Down-event behaviour needs interaction to assess. |
| 2.5.3 Label in Name | A | in parte automatico | Finds controls whose accessible name does not contain their visible text. label-content-name-mismatch |
| 2.5.4 Motion Actuation | A | giudizio umano | Motion-triggered functions are not detectable from the page. |
| 2.5.7 Dragging Movements | AA | giudizio umano | Whether drag actions have a single-pointer alternative needs a person. |
| 2.5.8 Target Size (Minimum) | AA | in parte automatico | Measures whether targets meet 24×24 CSS pixels or have enough spacing. Inline links in text are exempt and skipped. target-size |
3. Comprensibile
| Criterio | Livello | Copertura | Cosa vede la macchina e cosa no |
|---|---|---|---|
| 3.1.1 Language of Page | A | automatico | Finds a missing or invalid page language. Whether the declared language is the right one is a judgement, but a missing one is certain. html-has-lang · html-lang-valid · html-xml-lang-mismatch |
| 3.1.2 Language of Parts | A | in parte automatico | Checks that lang attributes on parts are valid. Passages in another language without a lang attribute need a person. valid-lang |
| 3.2.1 On Focus | A | giudizio umano | Context changes on focus need interaction to assess. |
| 3.2.2 On Input | A | giudizio umano | Context changes on input need interaction to assess. |
| 3.2.3 Consistent Navigation | AA | giudizio umano | Consistency across pages is a site-level judgement. |
| 3.2.4 Consistent Identification | AA | giudizio umano | Consistency of components across pages is a site-level judgement. |
| 3.2.6 Consistent Help | A | giudizio umano | Placement of help across pages is a site-level judgement. |
| 3.3.1 Error Identification | A | giudizio umano | Error messages only appear after submitting a form. |
| 3.3.2 Labels or Instructions | A | in parte automatico | Finds fields with conflicting labels; fields without any name are reported under 4.1.2 (label, select-name). Whether instructions are sufficient needs a person. form-field-multiple-labels |
| 3.3.3 Error Suggestion | AA | giudizio umano | Only observable after submitting invalid input. |
| 3.3.4 Error Prevention (Legal, Financial, Data) | AA | giudizio umano | Confirmation and reversal steps in checkout need a person. |
| 3.3.7 Redundant Entry | A | giudizio umano | Repeated data entry across a process needs a person. |
| 3.3.8 Accessible Authentication (Minimum) | AA | giudizio umano | Cognitive tests in login flows need a person. |
4. Robusto
| Criterio | Livello | Copertura | Cosa vede la macchina e cosa no |
|---|---|---|---|
| 4.1.2 Name, Role, Value | A | in parte automaticoCorrezione disponibile nell’app Shopify | The broadest machine coverage: names of buttons, links, fields and frames, valid ARIA roles and attributes, hidden-but-focusable content, nested controls. Whether states (expanded, selected) are kept up to date by scripts needs a person. button-name · link-name · label · select-name · input-button-name · input-image-alt · frame-title · frame-title-unique · summary-name · aria-allowed-attr · aria-required-attr · aria-roles · aria-valid-attr · aria-valid-attr-value · aria-prohibited-attr · aria-conditional-attr · aria-deprecated-role · aria-hidden-focus · aria-hidden-body · aria-command-name · aria-input-field-name · aria-tab-name · aria-toggle-field-name · aria-tooltip-name · aria-roledescription · aria-braille-equivalent · duplicate-id-aria · nested-interactive · area-alt |
| 4.1.3 Status Messages | AA | giudizio umano | Whether status messages are announced needs interaction to assess. |
Metodo e gestione delle versioni
Lo scanner carica una pagina in un browser reale come fa un visitatore ed esegue axe-core con i set di regole per WCAG 2.2 A e AA. Il collegamento tra regola e criterio in questa tabella proviene direttamente dai metadati di axe-core; la suddivisione in automatico, in parte automatico e giudizio umano è la nostra valutazione professionale ed è indicata come tale.
I risultati che axe-core non può decidere (per esempio un testo sopra un’immagine) compaiono in ogni report come punti da controllare a mano: non nascosti e non conteggiati come superati.
Questa matrice porta una versione e una data. Cambia quando cambiano la versione di axe-core, i set di regole o la nostra suddivisione, così due edizioni restano confrontabili.