Matice pokrytí
Co testujeme strojově, co částečně a co musí udělat člověk
Každý skener přístupnosti najde jen část toho, co najde audit. Místo abychom to nechávali v nejasnu, stojí tu pro každé kritérium WCAG 2.2 A/AA: která porušení náš skener najde sám, kde odkládá případy k ruční kontrole a kde vůbec nedokáže rozhodnout. Vychází to z toho, co skener skutečně spouští, ne z toho, co bychom si přáli.
Verze 1.0 · 2026-09-27 · WCAG 2.2 A/AA · axe-core 4.12.0
Toto není prohlášení o souladu
Čistý sken neznamená, že stránka splňuje WCAG. Strojové testování pokrývá přibližně polovinu toho, co najde audit od experta, a několik kritérií dokáže posoudit jen člověk, který web používá. Ber tuto matici jako popis nástroje, ne jako certifikát.
- strojově
- 2 / 55
- Skener najde běžná porušení sám a s jistotou; to, co mu unikne, je vzácné.
- částečně strojově
- 21 / 55
- Skener najde část porušení s jistotou a sporné případy odloží k ruční kontrole; zbytek je na člověku.
- lidský úsudek
- 32 / 55
- Žádný strojový test; posoudit to může jen člověk, který web používá.
- Spuštěná pravidla
- 70
- Pravidla axe-core navázaná na WCAG 2.2 A/AA, která spouští každý sken.
Takto tabulku čti: kritérium (oficiální název WCAG), jeho úroveň, jak ho pokrýváme a v jedné větě to, co stroj vidí a co ne, následované názvy pravidel, aby si je specialista mohl dohledat v dokumentaci axe-core. „Oprava k dispozici“ označuje kritéria, pro která naše aplikace pro Shopify navrhuje hotovou změnu v kódu tématu.
1. Vnímatelnost
| Kritérium | Úroveň | Pokrytí | Co stroj vidí a co ne |
|---|---|---|---|
| 1.1.1 Non-text Content | A | částečně strojověOprava k dispozici v aplikaci pro 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 | částečně strojově | Flags <audio> elements without a captions track. Transcripts placed elsewhere on the page are not detected. audio-caption |
| 1.2.2 Captions (Prerecorded) | A | částečně strojově | 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 | lidský úsudek | No automated test exists for the presence or quality of audio description. |
| 1.2.4 Captions (Live) | AA | lidský úsudek | Live media cannot be assessed by a page scan. |
| 1.2.5 Audio Description (Prerecorded) | AA | lidský úsudek | No automated test exists for audio description. |
| 1.3.1 Info and Relationships | A | částečně strojověOprava k dispozici v aplikaci pro 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 | lidský úsudek | Reading order versus visual order is not machine-decidable. |
| 1.3.3 Sensory Characteristics | A | lidský úsudek | Instructions that rely on shape, colour or position ("click the round button") need a person to spot. |
| 1.3.4 Orientation | AA | částečně strojově | 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 | částečně strojově | 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 | částečně strojově | 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 | částečně strojově | Finds media that autoplays with sound for more than three seconds without controls. no-autoplay-audio |
| 1.4.3 Contrast (Minimum) | AA | částečně strojově | 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 | částečně strojověOprava k dispozici v aplikaci pro 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 | lidský úsudek | Whether an image contains text is not machine-decidable in this scanner. |
| 1.4.10 Reflow | AA | lidský úsudek | Requires viewing the page at 320 CSS pixels wide; not part of the scan. |
| 1.4.11 Non-text Contrast | AA | lidský úsudek | Contrast of icons, borders and controls is not measured. |
| 1.4.12 Text Spacing | AA | částečně strojově | 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 | lidský úsudek | Tooltip and popover behaviour needs interaction to assess. |
2. Ovladatelnost
| Kritérium | Úroveň | Pokrytí | Co stroj vidí a co ne |
|---|---|---|---|
| 2.1.1 Keyboard | A | částečně strojově | 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 | lidský úsudek | Keyboard traps only show when tabbing through the page. |
| 2.1.4 Character Key Shortcuts | A | lidský úsudek | Single-key shortcuts are not detectable from the page. |
| 2.2.1 Timing Adjustable | A | částečně strojově | 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 | částečně strojově | Finds the blink and marquee elements. Carousels and animations need a person. blink · marquee |
| 2.3.1 Three Flashes or Below Threshold | A | lidský úsudek | Flashing content cannot be measured by a page scan. |
| 2.4.1 Bypass Blocks | A | částečně strojově | Checks for a skip link, landmarks or headings. Whether the skip link actually works needs a person. bypass |
| 2.4.2 Page Titled | A | strojově | 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 | lidský úsudek | Focus order needs tabbing through the page. |
| 2.4.4 Link Purpose (In Context) | A | částečně strojověOprava k dispozici v aplikaci pro 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 | lidský úsudek | Whether there is a second way to reach pages (search, sitemap, navigation) is a site-level judgement. |
| 2.4.6 Headings and Labels | AA | lidský úsudek | Descriptiveness of headings and labels is not machine-decidable. |
| 2.4.7 Focus Visible | AA | lidský úsudek | Needs the page to be operated with a keyboard while watching the focus indicator. |
| 2.4.11 Focus Not Obscured (Minimum) | AA | lidský úsudek | Sticky headers and cookie bars covering the focused element only show when tabbing. |
| 2.5.1 Pointer Gestures | A | lidský úsudek | Multipoint and path gestures are not detectable from the page. |
| 2.5.2 Pointer Cancellation | A | lidský úsudek | Down-event behaviour needs interaction to assess. |
| 2.5.3 Label in Name | A | částečně strojově | Finds controls whose accessible name does not contain their visible text. label-content-name-mismatch |
| 2.5.4 Motion Actuation | A | lidský úsudek | Motion-triggered functions are not detectable from the page. |
| 2.5.7 Dragging Movements | AA | lidský úsudek | Whether drag actions have a single-pointer alternative needs a person. |
| 2.5.8 Target Size (Minimum) | AA | částečně strojově | Measures whether targets meet 24×24 CSS pixels or have enough spacing. Inline links in text are exempt and skipped. target-size |
3. Pochopitelnost
| Kritérium | Úroveň | Pokrytí | Co stroj vidí a co ne |
|---|---|---|---|
| 3.1.1 Language of Page | A | strojově | 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 | částečně strojově | 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 | lidský úsudek | Context changes on focus need interaction to assess. |
| 3.2.2 On Input | A | lidský úsudek | Context changes on input need interaction to assess. |
| 3.2.3 Consistent Navigation | AA | lidský úsudek | Consistency across pages is a site-level judgement. |
| 3.2.4 Consistent Identification | AA | lidský úsudek | Consistency of components across pages is a site-level judgement. |
| 3.2.6 Consistent Help | A | lidský úsudek | Placement of help across pages is a site-level judgement. |
| 3.3.1 Error Identification | A | lidský úsudek | Error messages only appear after submitting a form. |
| 3.3.2 Labels or Instructions | A | částečně strojově | 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 | lidský úsudek | Only observable after submitting invalid input. |
| 3.3.4 Error Prevention (Legal, Financial, Data) | AA | lidský úsudek | Confirmation and reversal steps in checkout need a person. |
| 3.3.7 Redundant Entry | A | lidský úsudek | Repeated data entry across a process needs a person. |
| 3.3.8 Accessible Authentication (Minimum) | AA | lidský úsudek | Cognitive tests in login flows need a person. |
4. Robustnost
| Kritérium | Úroveň | Pokrytí | Co stroj vidí a co ne |
|---|---|---|---|
| 4.1.2 Name, Role, Value | A | částečně strojověOprava k dispozici v aplikaci pro 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 | lidský úsudek | Whether status messages are announced needs interaction to assess. |
Metoda a správa verzí
Skener načte stránku ve skutečném prohlížeči tak, jak to dělá návštěvník, a spustí axe-core se sadami pravidel pro WCAG 2.2 A a AA. Navázání pravidla na kritérium v této tabulce pochází přímo z metadat axe-core; rozdělení na strojově, částečně strojově a lidský úsudek je naše odborné posouzení a je tak i uvedeno.
Výsledky, o kterých axe-core nedokáže rozhodnout (například text přes obrázek), jsou v každé zprávě uvedené jako body k ruční kontrole, nejsou skryté a nepočítají se jako úspěšné.
Tato matice nese verzi a datum. Mění se, když se změní verze axe-core, sady pravidel nebo naše rozdělení, aby byla dvě vydání srovnatelná.