Стандарти · WCAG 2.2

SC 2.1.2 Ниво A WCAG 2.0

Без капан за клавиатурата

Ако фокусът на клавиатурата може да влезе в компонент, трябва да може и да излезе от него само с клавиатурата. Модални прозорци, вградени обекти и персонализирани уиджети са най-честите нарушители.

Какво се изисква

Ако потребителят може да навигира с Tab в даден компонент, трябва да може и да излезе от него с Tab (или Shift+Tab, или друг документиран клавиш) без да взима мишката. Ако за изход се изисква нещо различно от стандартните клавиши Tab/стрелки — например Ctrl+M за изход от вграден видеоплейър — потребителят трябва да бъде информиран как.

Това не е същото като капан за фокуса в модален прозорец, който е желан модел: модалният прозорец прецикля фокуса в рамките на себе си, но освобождава фокуса при затваряне. Капан за клавиатурата е налице, когато не съществува документиран начин за изход.

Как да се изпълни

  • В рамките на модален диалог фокусът да се прецикля между първия и последния фокусируем елемент с Tab и Shift+Tab, и диалогът да се затваря с Escape, като фокусът се връща към елемента, отворил диалога.
  • При вградено съдържание от трети страни (видеоплейъри, карти, iframe от неизвестен произход), да се тества дали Tab продължава след вградения обект. Ако не продължава, да се документира клавишната комбинация за изход в близост до обекта.
  • При персонализирани уиджети, поглъщащи клавишите за стрелки (избиратели на дата, combobox, tree view), Tab да остава универсален клавиш за изход — никога да не бъде блокиран.
  • При плъзгащи се манипулатори или редактори с богат текст, използващи Tab за отстъп, да се предостави документирана алтернатива (Escape за освобождаване, Ctrl+M за изход от режим на редактиране) и тя да бъде видима в интерфейса.

Чести грешки

  • Модални диалози, при които фокусът е уловен, но прозорецът не се затваря с Escape и не предлага фокусируем бутон „Затвори”.
  • Вградени PDF четци, Flash артефакти и някои таблици в Tableau / Power BI, които поглъщат Tab безкрайно.
  • Редактори с богат текст (TinyMCE, CKEditor в по-стари версии), при които Tab служи за отстъп и никога не освобождава фокуса.
  • Персонализирани combobox елементи, при които клавишите за стрелки движат опциите, но Tab не прави нищо — потребителят заседа в полето за въвеждане.
  • Банери за бисквитки с управление на фокуса, при които фокусът се върти в цикъл, без никога да предлага бутоните „Приемам” / „Отхвърлям”.

Автоматизираните инструменти рядко засичат тези проблеми — axe и Lighthouse могат само да маркират подозрителни модели. Ръчното тестване с клавиатура е единствената надеждна проверка.

Защо е важно

Капанът за клавиатурата е едно от най-сериозните нарушения на достъпността: потребителят буквално не може да напусне тази част от страницата. Незрящ потребител може да се наложи да опресни страницата, като изгуби сесията и всички въведени данни. За много потребители това е моментът, в който изоставят сайта напълно. От всички критерии на WCAG, именно този е най-вероятно да направи страницата юридически неустоима — съдилищата и органите по правоприлагане третират улавянето на потребителите като ясна пречка.