2013-11-08 4 views
1

У меня есть страница с n разделы. Секции скрыты и могут отображаться только при нажатии соответствующих ссылок.Как сказать читателю экрана, что ссылка отключена

На странице загружается только 1-я ссылка, а остальные n-1 - href="#". На основе некоторой логики другие ссылки активируются индивидуально. Теперь мой вопрос: как заставить читателя экрана понять, что ссылка отключена или deactivate?

+0

Первое, что приходит мне на ум, это [атрибут, отключенный от арии] (http://www.w3.org/TR/wai-aria/states_and_properties#aria-disabled). – katranci

+0

Неоднозначно, что «и остальные n-1 ссылки отключены». Отключено как? В любом случае, если у них есть отключенный атрибут, проверьте это; если они не отображаются (отображение CSS: нет), проверьте это и т. д. – marekful

+0

@ MarcellFülöp: Спасибо, обновлено описание –

ответ

5

Предполагая, что вы хотели бы для чтения с экрана, чтобы знать, что они есть, только инвалиды, я хотел бы использовать кнопку или ссылку, как так:

<button disabled>Section name</button> 

<a href="#" role="button" aria-disabled="true">Section name</a> 

Это было бы хорошо для набора показать/скрыть области, контролируются некоторой внешней логикой.

После включения, вы должны также рассмотреть некоторые атрибуты, чтобы люди знали, как это работает:

<a href="#" role="button" aria-pressed="false">Section name</a> 
<div aria-expanded="false">Content to show</div> 

При выборе:

<a href="#" role="button" aria-pressed="true">Section name</a> 
<div aria-expanded="true">Content to show</div> 

С другой стороны, если это баян (один в то время я бы использовал аккордеон здесь: http://whatsock.com/tsg/

Возможно, вы не захотите использовать эту структуру, но просто прочитайте не для аккордеонов, чтобы понять это лучше.

+0

Я фактически использую AccDc для этой страницы. Страница состоит из ссылок, которые ведут себя как вкладки. –

+0

Это отличное начало. Вы пытались использовать aria-disabled = true? – AlastairC

+0

Да, у меня есть. NVDA на firefox явно не говорит о том, что отключен –

2

Как и в случае с FYI, использование арий-отключенных работает лучше всего для элементов с определенной ролью, таких как кнопка role =.

Итак, если вы используете тег A с атрибутом href, вы можете использовать role = button и aria-disabled = true, и оно будет объявлено правильно. Я рекомендую использовать tabindex = "- 1", чтобы удалить его из порядка табуляции, а также следовать стандартным поведением активного элемента с отключенным доступом.

Е.Г.

[A HREF = "#" TabIndex = - роль "1" = "Кнопка" ария-инвалиды = "истина"] Этикетка [/ а]

Кроме того, при использовании aria- нажатие, вы также должны включить кнопку role =, иначе это будет работать неправильно, так как это определяет элемент управления ARIA Toggle.

+0

Пожалуйста, определите «работает лучше всего» –

+0

Лучше всего работает: Наибольшее количество вспомогательных технологий + браузеры, поддерживающие этот подход –

Смежные вопросы