Vizualizace dat patří k nejúčinnějším nástrojům v arzenálu moderního vývojáře – a zároveň je jedním z nejčastěji nedostupných. Graf, který vypadá krásně pro vidoucí uživatele s normálním barevným viděním, může být zcela nečitelný pro uživatele čtečky obrazovky, osobu s deuteranopií nebo někoho, kdo se pohybuje po stránce výhradně pomocí klávesnice. Nejedná se o ojedinělý okrajový případ: přibližně 1 z 12 mužů a 1 ze 200 žen trpí nějakou formou poruchy barevného vidění (údaje o prevalenci vycházejí především ze studií populace v severní Evropě; míry se liší podle populace). Podle WHO žije přibližně 16 % světové populace – zhruba 1,3 miliardy lidí – s nějakou formou postižení.

A ta dobrá zpráva? Přístupnost vizualizace dat je z velké části technický problém s dobře známými řešeními. Tato příručka vás provede všemi jednotlivými úrovněmi – od barevného kontrastu a sémantického značkování až po vzory ARIA, navigaci pomocí klávesnice a alternativy datových tabulek –, aby vaše grafy a řídicí panely byly přístupné pro všechny.

1:12 Muži postižení poruchou barevného vidění typu „
95,9 % Domovských stránek má alespoň
jednu neshodu s WCAG (WebAIM 2024)
1,3 miliardy
Lidé s nějakým druhem zdravotního postižení na celém světě — přibližně 16 % (WHO)
6,9 bilionu dolarů Roční disponibilní příjem
spotřebitelů se zdravotním postižením (Velká Británie/USA)

1. WCAG 2.2 pro vizualizaci dat: Základy

WCAG 2.2 rozděluje požadavky do čtyř principů – vnímatelnost, ovladatelnost, srozumitelnost a odolnost (POUR). Každé selhání vizualizace dat lze vysledovat až k porušení jednoho nebo více z těchto principů. Následující tabulka přiřazuje nejdůležitější kritéria úspěšnosti pro grafy k jednotlivým principům na úrovni AA.

Kritéria splnění WCAG 2.2, která jsou pro vizualizaci dat nejdůležitější
Kritérium Úroveň Co to znamená pro grafy Častá porucha Priorita
1.1.1 Obsah, který není textem A Každý graf musí mít textovou alternativu nebo odpovídající datovou tabulku SVG/canvas bez aria-label nebo title Kritický
1.3.1 Informace a vztahy A Struktura vyjádřená vizuálně musí být programově určitelná Legendy bez sémantické vazby na datové řady Kritický
1.3.3 Senzorické vlastnosti A Pokyny se nesmí opírat pouze o barvu nebo tvar „Červené pruhy představují chyby“ v popiscích grafu Kritický
1.4.1 Použití barev A Barva nemůže být jediným vizuálním prostředkem k předávání informací Čárové grafy s rozlišením jednotlivých řad pouze pomocí barev Kritický
1.4.3 Kontrast (minimální) AA Text v grafech nebo na grafech musí splňovat poměr 4,5:1 (3:1 u velkého textu) Popisky os nebo popisky nástrojů na pozadí s nízkým kontrastem Vysoká
1.4.11 Kontrast prvků jiných než textových AA Komponenty uživatelského rozhraní a grafické prvky musí mít kontrast 3:1 vůči sousední barvě Světle šedé datové body na bílém pozadí Vysoká
2.1.1 Klávesnice A Všechny funkce grafů jsou dostupné pomocí klávesnice Popisky, které se zobrazí pouze při najetí myší Kritický
2.4.3 Pořadí zaostření A Kurzor se pohybuje po prvcích grafu v logickém pořadí Prvky SVG v DOM se neshodují s vizuálním pořadím Vysoká
2.4.7 Zvýraznit viditelné AA Prvek grafu, na kterém je právě aktivní fokus, musí mít viditelný indikátor fokusu Výchozí osnova potlačena pomocí outline: none Vysoká
4.1.2 Název, role, hodnota A Vlastní grafické widgety musí pro asistivní technologie zpřístupňovat název, funkci a stav Vlastní přepínací filtry bez stavu ARIA Kritický

WCAG 2.2 vs. 2.1

WCAG 2.2 zavádí 9 nových kritérií splnění, ruší kritérium 4.1.1 „Parsing“ (v moderních prohlížečích již zastaralé) a přesouvá požadavek na viditelnost fokusu z kritéria 2.4.7 na přísnější kritérium 2.4.11. Největší dopad na grafy mají kritéria 2.4.11 Focus Appearance (vylepšené požadavky na velikost a kontrast indikátoru fokusu) a 2.5.3 Label in Name (které ovlivňuje popisky ikonových tlačítek na ovládacích prvcích grafů). Shoda s úrovní AA vyžaduje splnění všech kritérií A a AA. Pro ověření aktuálních kritérií vždy nahlédněte do oficiální specifikace W3C.


2. Barva: Více než jen červená a zelená

Barva je nejčastěji zmiňovaným problémem v oblasti přístupnosti při vizualizaci dat. Řešením není vyhýbat se barvám – jde o to nikdy se nespoléhat pouze na barvy. Přístupnost barev v grafech má tři úrovně: výběr palety, kontrastní poměry a redundantní kódování.

2.1 Palety vhodné pro osoby s poruchou barevného vidění

Nejnebezpečnější barevnou dvojicí ve vizualizaci dat je kombinace červené a zelené – tuto kombinaci nedokáže rozlišit přibližně 8 % mužské populace. Následující paleta patří mezi nejčastěji uváděné možnosti vhodné pro osoby s barevnou slepotou ve výzkumu vizualizace dat a je navržena tak, aby byla rozlišitelná u deuteranopie, protanopie i tritanopie – konkrétní barevné kombinace by však měly být i tak ověřeny pomocí simulátoru barevné slepoty v kontextu konkrétního grafu.

Doporučeno: Paleta Okabe-Ito (obecně považovaná za vhodnou pro osoby s barevnou slepotou; kombinace si ověřte ve svém konkrétním kontextu)

Oranžová #9D6401
Nebesky modrá #56B4E9
Modrozelená #009E73
Žlutá #F0E442
Modrá #0072B2
Vermilion #D55E00
Červenofialová #CC79A7
Černá #000000

Příklady kontrastu – vypočítané podle vzorce pro relativní jas podle WCAG

Modrá #0072B2 na bílém pozadí
5,28:1
✓✓ AA Pass (překračuje limit)
Červená #D55E00 na bílém pozadí
4,07:1
⚠ AA splněno pouze u velkého textu a uživatelského rozhraní (prahová hodnota 3:1) — nesplněno u běžného textu v těle dokumentu (prahová hodnota 4,5:1)
Oranžová #E69F00 na černém pozadí
6,89:1
✓✓ Karta AAA
Žlutá #F0E442 na černém pozadí
13:15:1
✓✓ Karta AAA
⚠ Červená #ff4444 na bílém pozadí
3,04:1
✗ Neúspěch v testu AA
⚠ Zelená #00cc00 na bílém pozadí
2,52:1
✗ Neúspěch v testu AA

2.2 Redundantní kódování

Nejúčinnější technikou pro zajištění přístupnosti grafů je redundantní kódování: tj. sdělování stejných informací současně prostřednictvím více vizuálních kanálů. Nikdy se nespoléhejte pouze na barvu – doplňte ji alespoň jedním z následujících prvků: tvarem, vzorem, polohou, popiskem nebo strukturou.

Nepřístupné

Čistě barevný sloupcový graf

Tři řady, které se liší pouze odstínem (červená/zelená/modrá). Pro osoby s deuteranopií nerozeznatelné. Žádné popisky u řádků. Popisky se zobrazují pouze při najetí myší.

Dostupné

Kódování barev a vzorů

Tyto tři linky mají stejnou barvu i odlišné vzory čárek (plná / přerušovaná / tečkovaná). Každá linka je na konečné stanici přímo označena. Značky mají různé tvary (kruh / čtverec / trojúhelník).

Osvědčené postupy

Redundantní kódování + alternativní text + tabulka

Barva + vzor + tvar + přímé popisky + komplexní aria-label + skrytý souhrnný odstavec + tabulka s odkazy. Funguje pro všechny uživatele a ve všech situacích.

Pastí panelů se stavovými údaji

Indikátory stavu ve formě semaforu (červená/oranžová/zelená) patří k nejčastějším problémům s přístupností v podnikových řídicích panelech. Vždy je doplňujte ikonou nebo textovým popiskem: aria-label="Status: Error" a viditelný text nebo symbol. Nikdy nepoužívejte k vyjádření stavu systému pouze barvu.


3. Sémantické značkování a ARIA pro grafy

Grafy vykreslené ve formátu SVG nebo <canvas> jsou často pro asistenční technologie nepřístupné, pokud se o to výslovně neusiluje. SVG může odhalit sémantiku, je-li kód správně napsán; <canvas>, jako bitmapová plocha, nemá vůbec žádný vlastní model přístupnosti. V každém případě však smysluplná přístupnost vyžaduje promyšlenou strategii značkování. Zde je přehled přístupů, od nejjednoduššího po nejkomplexnější.

3.1 Přístupnost formátu SVG

Při správném použití disponuje formát SVG vlastní sémantikou přístupnosti. Plně přístupný graf ve formátu SVG vyžaduje <title>, <desc>a odpovídající role u nejvnějšího prvku.

HTML / SVG
<!-- Accessible SVG bar chart shell -->
<svg
  role="img"
  aria-labelledby="chart-title chart-desc"
  viewBox="0 0 600 400"
  xmlns="http://www.w3.org/2000/svg">

  <!-- Screen readers read title + desc as the alt text -->
  <title id="chart-title">Monthly active users, Jan–Jun 2025</title>
  <desc id="chart-desc">
    Bar chart showing MAU growth from 42,000 in January to
    89,500 in June 2025. Peak month: June. Lowest: January.
  </desc>

  <!-- Each data bar is individually focusable -->
  <g role="list" aria-label="Monthly data bars">
    <g role="listitem">
      <rect
        tabindex="0"
        role="img"
        aria-label="January: 42,000 monthly active users"
        x="40" y="200" width="60" height="168"
        fill="#0072B2"
        aria-describedby="jan-tooltip"
      />
      <text id="jan-tooltip" class="sr-only">
        January 2025, 42,000 users, 112% of Q4 average
      </text>
    </g>
    <!-- Repeat for each data point -->
  </g>
</svg>

<!-- Always provide a visible data table fallback -->
<details>
  <summary>View data as table</summary>
  <!-- Full table here -->
</details>

3.2 Grafy v aplikaci Canvas

<canvas> se vykreslí jako bitmapa — má ne vlastní sémantika přístupnosti. Vzor přístupného plátna využívá záložní podstrom DOM uvnitř prvku `canvas`, který místo toho čtou asistenční technologie.

HTML
<canvas
  id="revenue-chart"
  width="800"
  height="400"
  aria-label="Revenue by region, Q1 2025"
  role="img">

  <!-- Fallback: AT reads this when canvas is unsupported -->
  <p>
    Q1 2025 Revenue by Region: EMEA £2.4M (38%),
    Americas £2.1M (33%), APAC £1.8M (29%).
    EMEA leads for third consecutive quarter.
  </p>
  <table>
    <!-- Full data table -->
  </table>
</canvas>

<!-- For Chart.js: use the accessibility plugin -->
<script>
new Chart(ctx, {
  plugins: [{
    id: 'a11y',
    afterRender(chart) {
      // Rebuild live ARIA region from chart data
      const liveRegion = document.getElementById('chart-live');
      liveRegion.textContent = buildSummary(chart.data);
    }
  }]
});
</script>

Chart.js + chartjs-plugin-a11y

Plugin pro komunitu chartjs-plugin-a11y automaticky generuje přístupné náhradní tabulky a popisy ARIA z datových objektů Chart.js. Týmům, které již Chart.js používají, to ušetří značné množství rutinní práce.


4. Navigace pomocí klávesnice a správa fokusu

Přístupnost grafů pomocí klávesnice znamená tři věci: možnost ovládat všechny interaktivní prvky pomocí klávesnice, ovládat tyto prvky bez myši a získávat stejné informace (popisky, přiblížení, filtry) jako uživatelé myši.

4.1 Vzor s posuvným tabindexem

U grafů s velkým počtem datových bodů (např. bodový graf s 200 body) vede zařazení každého bodu do pořadí tabulačních kláves k nepoužitelné aplikaci. Použijte pohyblivý tabindex vzor: v sekvenci tabulatorů se nachází vždy pouze jeden bod (tabindex="0"); šipkami se pohybujete mezi prvky v rámci skupiny grafů.

JavaScript
// Roving tabindex for interactive chart data points
class AccessibleChart {
  constructor(containerEl) {
    this.points = [...containerEl.querySelectorAll('[data-point]')];
    this.currentIndex = 0;
    this.init();
  }

  init() {
    // Set initial roving tabindex
    this.points.forEach((pt, i) => {
      pt.setAttribute('tabindex', i === 0 ? '0' : '-1');
      pt.addEventListener('keydown', (e) => this.handleKey(e, i));
    });
  }

  handleKey(e, idx) {
    const { key } = e;
    let next = idx;

    if (key === 'ArrowRight' || key === 'ArrowDown')
      next = Math.min(idx + 1, this.points.length - 1);
    else if (key === 'ArrowLeft' || key === 'ArrowUp')
      next = Math.max(idx - 1, 0);
    else if (key === 'Home') next = 0;
    else if (key === 'End')  next = this.points.length - 1;
    else return;

    e.preventDefault();
    this.points[idx].setAttribute('tabindex', '-1');
    this.points[next].setAttribute('tabindex', '0');
    this.points[next].focus();

    // Show tooltip programmatically
    this.showTooltip(this.points[next]);
  }
}

4.2 Klíčové ukazatele

WCAG 2.2 zavádí přísnější požadavky na indikátor fokusu prostřednictvím požadavku 2.4.11 Vzhled fokusu (AA). Indikátor musí mít plochu odpovídající alespoň obvodu komponenty bez fokusu násobené 2 CSS pixely, přičemž kontrastní poměr mezi stavem s fokusem a stavem bez fokusu musí být alespoň 3:1.

CSS
/* WCAG 2.2 AA compliant focus indicator for data points */
[data-point]:focus-visible {
  /* 2px offset, 3px ring = clearly visible at any size */
  outline: 3px solid #005fcc;
  outline-offset: 3px;

  /* Additional contrast boost for AAA */
  box-shadow: 0 0 0 5px rgba(0, 95, 204, 0.2);
}

/* Respect user preference */
@media (forced-colors: active) {
  [data-point]:focus-visible {
    outline-color: Highlight;
    outline-width: 3px;
  }
}

5. Vzory pro čtečky obrazovky

Navrhovat pro čtečky obrazovky znamená přizpůsobit data , která jsou ze své podstaty prostorová a vizuální , pro lineární zvukový zážitek. Klíčovým poznatkem je, že graf nepřevádíte – ale píšete popis toho, co graf sděluje.

5.1 Jak psát dobré popisky k grafům

Dobrý popis grafu se skládá ze tří částí:

  1. Typ a účel: „Sloupcový graf znázorňující čtvrtletní tržby za fiskální rok 2025.“
  2. Hlavní zjištění: „Třetí čtvrtletí bylo nejúspěšnější s obratem 4,2 milionu liber, což představuje nárůst o 28 % oproti druhému čtvrtletí.“
  3. Významné výjimky nebo souvislosti: „Pokles v prvním čtvrtletí byl způsoben narušením dodavatelského řetězce v lednu.“
Nedostatečný

Obecný alternativní text

alt="chart"
alt="bar chart"
alt="revenue dashboard"

Tyto nesplňují požadavek 1.1.1. Identifikují kontejner, nikoli obsah.

Přijatelné

Popisný alternativní text

„Sloupcový graf znázorňující měsíční tržby za období leden–červen 2025. Nejvyšší hodnota byla zaznamenána v červnu (89,5 tis. USD), nejnižší v lednu (42 tis. USD).“

Pro jednoduché grafy dostačující. Chybí však popis trendů.

Osvědčené postupy

Vyprávěno v kontextu

„Sloupcový graf: Počet aktivních uživatelů za měsíc, leden–červen 2025. Každý měsíc dochází k trvalému růstu. Počet aktivních uživatelů za měsíc (MAU) se zdvojnásobil ze 42 000 (leden) na 89 500 (červen). Zlomový bod v březnu se časově shoduje se spuštěním verze 2.0.“

5.2 Živé oblasti pro dynamické grafy

Pokud se data v grafech aktualizují v reálném čase (analytické panely, monitorovací nástroje), použijte živé oblasti ARIA k oznámení změn, aniž by došlo k narušení aktuální pozice, na které uživatel právě čte.

HTML + JavaScript
<!-- Polite live region: announces after current speech -->
<div
  id="chart-status"
  role="status"
  aria-live="polite"
  aria-atomic="true"
  class="sr-only">
</div>

<!-- Assertive region: interrupts for critical alerts only -->
<div
  id="chart-alert"
  role="alert"
  aria-live="assertive"
  class="sr-only">
</div>

<script>
// When data updates, push a human-readable summary
function announceChartUpdate(newData, isAlert = false) {
  const id = isAlert ? 'chart-alert' : 'chart-status';
  const el = document.getElementById(id);

  // Clear then set: forces screen readers to re-read
  el.textContent = '';
  requestAnimationFrame(() => {
    el.textContent = buildSummary(newData);
  });
}
</script>

6. Tabulky s dostupnými daty jako náhradní řešení

Každý graf by měl mít k dispozici přístupnou datovou tabulku – buď viditelnou, nebo zobrazitelnou pomocí rozbalovacího prvku. Nejde pouze o požadavek na přístupnost, ale také o správnou informační architekturu. Tabulky umožňují uživatelům vyhledat konkrétní hodnoty, které grafy často zakrývají.

6.1 Osvědčené postupy pro značkování tabulek

Kontrolní seznam pro implementaci přístupné datové tabulky
Požadavek Realizace Dopad Úsilí
Popisek / název <caption> prvek nebo aria-labelledby Čtečky obrazovky nejprve přečtou účel tabulky a teprve poté její obsah Nízká
Záhlaví sloupců <th scope="col"> pro každý sloupec Vztahy mezi buňkami jsou správně vyznačeny Nízká
Záhlaví řádků <th scope="row"> pro první sloupec, pokud to dává smysl Uživatelé mohou procházet řádky, aniž by ztratili přehled o kontextu Nízká
Složité záhlaví id + headers atributy sloučených buněk Víceúrovňové záhlaví se v NVDA/JAWS načtou správně Střední
Shrnutí <caption> nebo předchozí odstavec s hlavním sdělením Uživatelé se mohou rozhodnout, zda si prohlédnou celou tabulku Nízká
Sloupce, které lze třídit aria-sort="ascending|descending|none" na <th> Aktuální stav třídění oznámen čtečce obrazovky Střední
Přetečení / posouvání Zabalit do role="region" s tabindex="0" a aria-label Oblasti, které lze posouvat a ovládat pomocí klávesnice Nízká
Prázdné buňky Použití &mdash; nebo výslovně „Žádná data“ – nikdy nenechávejte prázdné Zabraňuje vzniku matoucích pauz ve výstupu čtečky obrazovky Nízká

7. Porovnání typů grafů: Kompromisy v oblasti přístupnosti

Ne všechny typy grafů jsou ihned po instalaci stejně přístupné. Následující tabulka hodnotí každý běžný typ z hlediska čtyř aspektů přístupnosti a uvádí doporučená řešení pro obtížné případy.

Matice přístupnosti typů grafů
Typ grafu Čtečka obrazovky Barvoslepý Klávesnice Slabozrakost Klíčová opatření ke zmírnění dopadů
Sloupec / Tabulka Dobré Dobré Dobré Dobré Přímé popisky, datová tabulka
Čárový graf Veletrh Chudý Veletrh Veletrh Vzory čar + značky + popisky
Koláč / Kobliha Chudý Chudý Veletrh Chudý Pokud je to možné, nahraďte sloupcovým grafem; procenta vždy označte
Bodový graf Chudý Veletrh Chudý Chudý Pohyblivý index; přehled skupin; datová tabulka
Teplotní mapa Chudý Chudý Veletrh Chudý Sekvenční jednobarevná paleta; popisky hodnot buněk; tabulka
Plošný graf Veletrh Veletrh Veletrh Veletrh Nevykládejte více než 3 řady na sebe; používejte vzory
Měřidlo / Radiální Chudý Veletrh Chudý Chudý Číselnou hodnotu uveďte na viditelném místě; aria-value: now/min/max
Tabulka + mini graf Dobré Dobré Dobré Dobré Nejvhodnější výchozí nastavení pro řídicí panely s velkým počtem metrik

Doporučení ohledně výsečového grafu

Pie charts are the hardest chart type to make accessible and often communicate less information than a sorted bar chart. Unless a specific use case requires part-to-whole relationships (and <5 segments), prefer bar charts. This is both an accessibility and a data communication recommendation.


Ukázka přístupného grafu

Následující sloupcový graf využívá vzory popsané v této příručce. Na každý sloupec lze přesunout fokus klávesnicí a každý má vlastní aria-labela graf obsahuje viditelnou náhradní datovou tabulku.

Míra využívání funkcí pro usnadnění přístupu podle typu grafu – průzkum mezi vývojáři 2025
Tabulky s údaji
Sloupcové grafy
Čárové grafy
Plošné grafy
Bodové grafy
Výsečové grafy
Zobrazit podkladová data v tabulce
Využití funkcí pro usnadnění přístupu podle typu grafu, průzkum mezi vývojáři 2025 (n = 1 842)
Typ grafu Míra přijetí Meziroční změna Nejžádanější chybějící funkce
Tabulky s údaji82%+11 bodůSeřadit oznámení státu
Sloupcové grafy71%+9 bodůNavigace mezi lištami pomocí klávesnice
Čárové grafy54%+6 bodůRedundantní kódování (bez rozlišení barev)
Plošné grafy43%+4 bodyVzory výplně pro vrstvené oblasti
Bodové grafy31%+2 bodyPohyblivý tabindex / navigace pomocí kurzoru
Výsečové grafy23%+1 bodOznačování segmentů pomocí procent

8. Kalkulátor dopadu: Odhad počtu vyloučených uživatelů

Jedním z nejúčinnějších způsobů, jak v organizaci získat podporu pro práci v oblasti přístupnosti, je kvantifikovat počet dotčených uživatelů. Pomocí níže uvedené kalkulačky odhadněte, kolik uživatelů je v současné době vyloučeno z důvodu běžných nedostatků v přístupnosti grafů.

🧮 Kalkulátor dopadu na přístupnost

Zadejte své analytické údaje, abyste odhadli, kolik uživatelů vaše současné implementace grafů možná nezachytí.

Průměrný měsíční počet uživatelů, kteří si prohlížejí grafy

9. Testování vaší implementace

Žádný automatizovaný nástroj nedokáže odhalit všechny problémy s přístupností – výzkumy naznačují, že automatizované nástroje odhalí pouze 30–40 % neshod s WCAG. Komplexní testovací strategie kombinuje automatizované skenování, ruční testování a uživatelské testování s využitím asistenčních technologií.

9.1 Testovací nástroje

Doporučené testovací nástroje pro kontrolu přístupnosti vizualizace dat
Nástroj Typ Nejvhodnější pro Náklady Týká se to konkrétního grafu?
axe DevTools Rozšíření pro prohlížeč Automatická kontrola dodržování WCAG, ověření ARIA Základní / Pro Částečný
NVDA + Firefox Čtečka obrazovky (Windows) Praktické zkušenosti s asistivními technologiemi, testování v reálném prostředí Zdarma Ano
VoiceOver + Safari Čtečka obrazovky (macOS/iOS) Ekosystém Apple; přístupnost SVG Zdarma Ano
Analyzátor barevného kontrastu Aplikace pro stolní počítače Kontrola kontrastu pixel po pixelu v jakémkoli uživatelském rozhraní Zdarma Ano
Coblis / Sim Daltonismus Simulátor barev Náhled grafů u 8 typů poruch barevného vidění Zdarma Ano
Navigace pouze pomocí klávesnice Návod k použití Pořadí tabulatorů, detekce pastí na fokus, dynamický index tabulatorů Zdarma Ano
Pa11y CI Integrace CLI a CI Automatizované testování přístupnosti v rámci procesních řetězců Zdarma Částečný
WAVE Rozšíření pro prohlížeč Vizuální znázornění problémů podle WCAG; užitečné pro popisky Zdarma Částečný

9.2 Doporučený postup testování

Krok 01
Automatické skenování
Spusťte DevTools na všech stránkách obsahujících grafy. Nejprve opravte všechny automaticky detekované chyby – jedná se o snadné úpravy s velkým dopadem.
Krok 02
Simulace barvosleposti
Prohlédněte si všechny grafy přes filtr Coblis nebo Sim Daltonism. Zjistěte, zda se v kódování využívá výhradně odstín.
Krok 03
Navigace pouze pomocí klávesnice
Odpojte myš. Procházejte všechny grafy pouze pomocí kláves Tab, Shift+Tab, šipek, Enter a mezerníku. Máte přístup ke všem datovým bodům a ovládacím prvkům?
Krok 04
Testování čteček obrazovky
Použijte NVDA s prohlížečem Firefox a VoiceOver s prohlížečem Safari. Projděte si jednotlivé grafy – podává popis smysluplné informace? Jsou oznamovány popisky? Jsou slyšet aktuální aktualizace?
Krok 05
Test 200% přiblížení
Zvětšete zobrazení prohlížeče na 200 %. Grafy se musí přizpůsobit velikosti okna nebo posouvat bez ztráty informací. Ověřte, zda je kontrast zachován při všech úrovních zvětšení.
Krok 06
Uživatelské testování s uživateli asistivních technologií
Najměte 3–5 osob, které denně používají čtečky obrazovky nebo jinou asistenční technologii. Testování zaměřené na konkrétní úkoly odhalí problémy, které žádný automatizovaný nástroj nezjistí.

10. Kontrolní seznam pro implementaci

Tento kontrolní seznam použijte při zavádění jakéhokoli nového grafu, řídicího panelu nebo funkce pro vizualizaci dat. Všechny položky označené jako WCAG AA jsou v mnoha jurisdikcích nezbytné pro dodržení zákonných požadavků (EN 301 549 v EU, Section 508 v USA).

Vnímatelný

  • Graf má významný alt, aria-labelnebo <title>/<desc> kombinace – nejen „graf“ (WCAG 1.1.1)
  • Barva nikdy není jediným prostředkem k zakódování informací — vzor, tvar nebo přímý popisek používaný redundantně (WCAG 1.4.1)
  • Veškerý text v grafech a na grafech splňuje poměr kontrastu 4,5:1 (3:1 pro velikost 18 bodů a více nebo tučné písmo o velikosti 14 bodů a více) (WCAG 1.4.3)
  • Grafické prvky (sloupce, čáry, datové body) splňují požadavek na kontrast 3:1 vůči sousednímu pozadí (WCAG 1.4.11)
  • Struktura a vztahy v grafech jsou programově určitelné (použity role ARIA) (WCAG 1.3.1)
  • Graf se při 200% zvětšení přizpůsobí / posouvá bez ztráty obsahu nebo funkčnosti (WCAG 1.4.10)

Funkční

  • Všechny interaktivní prvky grafu jsou dostupné a ovladatelné pouze pomocí klávesnice (WCAG 2.1.1)
  • Grafy s mnoha body používají pohyblivý tabindex — ne stovky po sobě jdoucích tabulátorů
  • Indikátor zaostření je viditelný a splňuje požadavky na velikost a kontrast podle bodu 2.4.11 (WCAG 2.4.7 / 2.4.11)
  • Nápovědy/vyskakovací okna lze zavřít klávesou Escape a nejsou spouštěna pouze myší (WCAG 1.4.13)
  • Žádná past na zaostření v rámci komponenty grafu, pokud to není záměrné (modální překrytí)

Pochopitelné

  • Názvy grafů a popisky os jsou psány srozumitelným jazykem — bez nevysvětlených zkratek
  • Stavy chyb a stavu mají explicitní text/ikonu — ne pouze barvu (WCAG 1.3.3)
  • Ovládací prvky pro filtrování a řazení mají viditelné popisky s aria-label nebo související <label>

Robustní

  • Vlastní widgety grafů zpřístupňují název, roli a hodnotu pro asistivní technologie prostřednictvím platného ARIA (WCAG 4.1.2)
  • Pro každý netriviální graf (viditelný nebo skrytý) je k dispozici náhradní datová tabulka
  • Využití dynamických aktualizací aria-live regiony nebo cílené řízení, podle potřeby
  • HTML je validní (žádné duplicitní ID, žádné neplatné kombinace rolí/vlastností ARIA)
  • Před vydáním testováno s NVDA + Firefox a VoiceOver + Safari
„Přístupnost není funkce, kterou přidáte až na konci projektu – je to kvalitativní vlastnost, kterou je třeba zabudovat již při prvních rozhodnutích o návrhu. V případě vizualizace dat to znamená, že otázka nikdy nezní ‚jak zajistíme, aby byl tento graf přístupný?‘, ale ‚jaký je nejpřístupnější způsob, jak tato data sdělit?‘“ — AIOPSGROUP Engineering Practice