Matriz de cobertura
O que testamos por máquina, o que testamos em parte e o que exige uma pessoa
Todo escaneador de acessibilidade encontra apenas uma parte do que uma auditoria encontra. Em vez de deixar isso vago, aqui está, critério por critério do WCAG 2.2 A/AA: quais infrações nosso escaneador encontra por conta própria, onde ele separa casos para conferência e onde não consegue julgar de forma alguma. Baseado no que o escaneador realmente executa, não no que gostaríamos que ele fizesse.
Versão 1.0 · 2026-09-27 · WCAG 2.2 A/AA · axe-core 4.12.0
Esta não é uma declaração de conformidade
Um escaneamento limpo não significa que a página esteja em conformidade com o WCAG. O teste automatizado cobre cerca de metade do que uma auditoria feita por um especialista encontra, e vários critérios só podem ser avaliados por uma pessoa que use o site. Leia esta matriz como uma descrição do instrumento, não como um certificado.
- automatizado
- 2 / 55
- O escaneador encontra as infrações comuns por conta própria e com certeza; o que ele deixa passar é raro.
- parcialmente automatizado
- 21 / 55
- O escaneador encontra parte das infrações com certeza e separa os casos duvidosos para uma pessoa; o resto é trabalho humano.
- revisão humana
- 32 / 55
- Nenhum teste automatizado; somente uma pessoa que use o site consegue avaliar isso.
- Regras executadas
- 70
- Regras do axe-core vinculadas ao WCAG 2.2 A/AA que todo escaneamento executa.
Como ler a tabela: o critério (título oficial do WCAG), o nível, como o cobrimos e, em uma frase, o que a máquina vê e o que não vê, seguido dos nomes das regras para que um especialista possa conferi-las na documentação do axe-core. “Correção disponível” marca os critérios para os quais nosso app Shopify propõe uma alteração pronta no código do tema.
1. Perceptível
| Critério | Nível | Cobertura | O que a máquina vê, e o que não vê |
|---|---|---|---|
| 1.1.1 Non-text Content | A | parcialmente automatizadoCorreção disponível no 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 | parcialmente automatizado | Flags <audio> elements without a captions track. Transcripts placed elsewhere on the page are not detected. audio-caption |
| 1.2.2 Captions (Prerecorded) | A | parcialmente automatizado | 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 | revisão humana | No automated test exists for the presence or quality of audio description. |
| 1.2.4 Captions (Live) | AA | revisão humana | Live media cannot be assessed by a page scan. |
| 1.2.5 Audio Description (Prerecorded) | AA | revisão humana | No automated test exists for audio description. |
| 1.3.1 Info and Relationships | A | parcialmente automatizadoCorreção disponível no 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 | revisão humana | Reading order versus visual order is not machine-decidable. |
| 1.3.3 Sensory Characteristics | A | revisão humana | Instructions that rely on shape, colour or position ("click the round button") need a person to spot. |
| 1.3.4 Orientation | AA | parcialmente automatizado | 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 | parcialmente automatizado | 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 | parcialmente automatizado | 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 | parcialmente automatizado | Finds media that autoplays with sound for more than three seconds without controls. no-autoplay-audio |
| 1.4.3 Contrast (Minimum) | AA | parcialmente automatizado | 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 | parcialmente automatizadoCorreção disponível no 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 | revisão humana | Whether an image contains text is not machine-decidable in this scanner. |
| 1.4.10 Reflow | AA | revisão humana | Requires viewing the page at 320 CSS pixels wide; not part of the scan. |
| 1.4.11 Non-text Contrast | AA | revisão humana | Contrast of icons, borders and controls is not measured. |
| 1.4.12 Text Spacing | AA | parcialmente automatizado | 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 | revisão humana | Tooltip and popover behaviour needs interaction to assess. |
2. Operável
| Critério | Nível | Cobertura | O que a máquina vê, e o que não vê |
|---|---|---|---|
| 2.1.1 Keyboard | A | parcialmente automatizado | 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 | revisão humana | Keyboard traps only show when tabbing through the page. |
| 2.1.4 Character Key Shortcuts | A | revisão humana | Single-key shortcuts are not detectable from the page. |
| 2.2.1 Timing Adjustable | A | parcialmente automatizado | 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 | parcialmente automatizado | Finds the blink and marquee elements. Carousels and animations need a person. blink · marquee |
| 2.3.1 Three Flashes or Below Threshold | A | revisão humana | Flashing content cannot be measured by a page scan. |
| 2.4.1 Bypass Blocks | A | parcialmente automatizado | Checks for a skip link, landmarks or headings. Whether the skip link actually works needs a person. bypass |
| 2.4.2 Page Titled | A | automatizado | 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 | revisão humana | Focus order needs tabbing through the page. |
| 2.4.4 Link Purpose (In Context) | A | parcialmente automatizadoCorreção disponível no 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 | revisão humana | Whether there is a second way to reach pages (search, sitemap, navigation) is a site-level judgement. |
| 2.4.6 Headings and Labels | AA | revisão humana | Descriptiveness of headings and labels is not machine-decidable. |
| 2.4.7 Focus Visible | AA | revisão humana | Needs the page to be operated with a keyboard while watching the focus indicator. |
| 2.4.11 Focus Not Obscured (Minimum) | AA | revisão humana | Sticky headers and cookie bars covering the focused element only show when tabbing. |
| 2.5.1 Pointer Gestures | A | revisão humana | Multipoint and path gestures are not detectable from the page. |
| 2.5.2 Pointer Cancellation | A | revisão humana | Down-event behaviour needs interaction to assess. |
| 2.5.3 Label in Name | A | parcialmente automatizado | Finds controls whose accessible name does not contain their visible text. label-content-name-mismatch |
| 2.5.4 Motion Actuation | A | revisão humana | Motion-triggered functions are not detectable from the page. |
| 2.5.7 Dragging Movements | AA | revisão humana | Whether drag actions have a single-pointer alternative needs a person. |
| 2.5.8 Target Size (Minimum) | AA | parcialmente automatizado | Measures whether targets meet 24×24 CSS pixels or have enough spacing. Inline links in text are exempt and skipped. target-size |
3. Compreensível
| Critério | Nível | Cobertura | O que a máquina vê, e o que não vê |
|---|---|---|---|
| 3.1.1 Language of Page | A | automatizado | 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 | parcialmente automatizado | 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 | revisão humana | Context changes on focus need interaction to assess. |
| 3.2.2 On Input | A | revisão humana | Context changes on input need interaction to assess. |
| 3.2.3 Consistent Navigation | AA | revisão humana | Consistency across pages is a site-level judgement. |
| 3.2.4 Consistent Identification | AA | revisão humana | Consistency of components across pages is a site-level judgement. |
| 3.2.6 Consistent Help | A | revisão humana | Placement of help across pages is a site-level judgement. |
| 3.3.1 Error Identification | A | revisão humana | Error messages only appear after submitting a form. |
| 3.3.2 Labels or Instructions | A | parcialmente automatizado | 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 | revisão humana | Only observable after submitting invalid input. |
| 3.3.4 Error Prevention (Legal, Financial, Data) | AA | revisão humana | Confirmation and reversal steps in checkout need a person. |
| 3.3.7 Redundant Entry | A | revisão humana | Repeated data entry across a process needs a person. |
| 3.3.8 Accessible Authentication (Minimum) | AA | revisão humana | Cognitive tests in login flows need a person. |
4. Robusto
| Critério | Nível | Cobertura | O que a máquina vê, e o que não vê |
|---|---|---|---|
| 4.1.2 Name, Role, Value | A | parcialmente automatizadoCorreção disponível no 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 | revisão humana | Whether status messages are announced needs interaction to assess. |
Método e controle de versão
O escaneador carrega a página em um navegador real, do mesmo modo que um visitante, e executa o axe-core com os conjuntos de regras para WCAG 2.2 A e AA. A ligação entre regra e critério nesta tabela vem diretamente dos metadados do axe-core; a classificação em automatizado, parcialmente automatizado e revisão humana é a nossa avaliação profissional e está indicada como tal.
Os resultados que o axe-core não consegue decidir (por exemplo, texto sobre uma imagem) aparecem em cada relatório como pontos a conferir manualmente, não ficam escondidos e não são contados como aprovados.
Esta matriz tem uma versão e uma data. Ela muda quando a versão do axe-core, os conjuntos de regras ou a nossa classificação mudam, para que duas edições possam ser comparadas.