Accesskeys: Проклятие или Благословение?

В течение долгого времени, я полагал, что Accesskeys были определенным решением, если Вы хотели обеспечить основанная на клавиатуре сокращенная система в пределах вебсайта. WCAG 1.0 руководящих принципа определяют:

"Keyboard доступ к активным элементам страницы важен для многих пользователей, которые не могут использовать обращение устройство. Пользовательские агенты могут включать особенности, которые позволяют пользователям связывать удары клавиатуры с определенными действиями. HTML 4.01 позволяет довольным разработчикам определять сокращения клавиатуры в документах через " accesskey " attribute."

По общему признанию, это не заповедь — однако, это - конечно разумно сильная рекомендация! Однако, хотя признак Accesskey - единственный HTML родные средства обеспечения сокращения клавиатуры, , я недавно узнал несколько неотразимых причин избежать этого 1 .

Джон Фолайот WATS.ca написал многочисленный статьи об этих проблемах — таким образом я просто подведу итог здесь. Корень этих проблем - то, что программное обеспечение, включая стандартное программное обеспечение браузера и программное обеспечение чтения экрана, обычно оборудуется рядом стандартные сокращения клавиатуры.

проблема должна начать становиться ясной, теперь. Как может использование разработчика веб-страниц техника, которая непосредственно ниспровергает нормальное поведение программного обеспечения пользователя и требования быть "accessible"? Рассмотрите это:

Алан, который является слепым и использующим Internet Explorer 6, посещает Ваш вебсайт, в поисках некоторой части важной информации. Алан очень искусен со своим программным обеспечением - ОТЧИТЫВАЕТ ® покажите на экране читателя для Windows. Алан понимает, что это не является правильным участком для его информации, и поражает ALT+D - который является методом ЧЕЛЮСТЕЙ стандарта, чтобы возвратиться к строке поиска - внезапно, он оказывается в Вашей странице на далматинце. Так как Алан не может добраться до строка поиска, используя его обычный метод, он не знает, что сделать! Он должен закрыть ЧЕЛЮСТИ и начало.

, Если бы я был Аланом, я был бы довольно расстроен. Я потратил впустую изрядное количество времени! Столько, сколько я понимаю желание большинство владельцев вебсайта, чтобы держать людей на их участке - это кажется небольшой противоположностью.

Этот пример относится к Internet Explorer 6 и ранее. Опыт с другим программным обеспечением браузера будет различен; хотя не обязательно лучше. Internet Explorer 7, например, использует Alt+keypress комбинация, чтобы сосредоточить курсор на соответствующей связи. Это предотвращает внезапное и неожиданное изменение в местоположении, но не решает проблему, что нормальное сокращение клавиатуры больше не годно к употреблению. Вы никогда не должны предполагать, что любой данный пользователь использует любое данное программное обеспечение. Пример - совершенно действительная демонстрация того, что может пойти не так, как надо с accesskeys. Имеют в виду, что это не предназначено, чтобы подразумевать, что эта проблема относится ко всем устройствам: просто то, что это может потенциально быть проблема.

На ранних участках, я вышел из своего способа удостовериться, что у каждой главной страницы был уникальный accesskey - теперь, я понимаю, что я, возможно, причинил беспокойство самым людям, которые были предназначены, чтобы извлечь выгоду. Afterall, accesskey признаки предназначены для визуально инвалид, прежде всего - и они - самые люди, которые являются больше вероятно, чтобы быть регулярными пользователями сокращений клавиатуры на их собственном программном обеспечении.

Этот весь предмет подходил как часть обсуждения по
Врожденные и приобретенные болезни, лечение детей: педиатр, педиатрия. GAWDS список рассылки. К счастью, есть большое количество очень талантливых разработчиков участвующий в этом списке. Два из них, Лимон Gez JuicyStudio и Рич Педли объединились, чтобы создать PHP класс, который дает пользователям способность выбрать accesskey s для себя.

Этот инструмент берет потребность выбрать ключи доступа из рук разработчика веб-страниц и откладывает ее в руках пользователя - где она принадлежит.

Примечания:
1. есть другие альтернативы, такие как использование JavaScript, чтобы программировать сокращения клавиатуры. Однако, они "solutions" имейте те же самые проблемы как accesskey s, в дополнение к зависимости на стороне клиента scripting, чтобы функционировать.

Возвращение, чтобы превысить