У меня есть этот вопрос и ответ формат:Как сделать мой FAQ более доступным?
$('.qanda button').click(function(){
var btn = $(this);
btn.siblings('.answer').slideDown(function(){
$(this).attr('tabindex', '-1').focus();
btn.remove();
});
});
* {margin: 0;}
.qanda {
margin: 2em 0;
clear: both;
}
.answer {
display: none;
clear: both;
outline: none;
}
.qanda h2 {
float: left;
}
.qanda button{
margin-top: 4px;
margin-left: 8px;
}
<div class="qanda">
<h2>Is the sky blue?</h2>
<button>+</button>
<div class="answer">
<p>That depends on various factors, including whether it's night or day.</p>
</div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
Я понимаю, что не практикуется прогрессивного улучшения в том, что ответы скрыты с помощью статического CSS. Однако, если я добавил это правило в JS и использовал эту страницу для многих вопросов, я предполагаю, что на некоторых устройствах ответы могут отображаться в течение секунды секунды, пока страница загружается. Поэтому я полагаюсь на работу JavaScript (хотя я не уверен, что сам по себе является препятствием для доступности).
Когда ответ показывает, что анимация завершена, фокус установлен на отображаемый div, то есть читатели экрана будут (в моем ограниченном опыте) читать с этой точки.
Кнопки естественно фокусируются, поэтому клавиатура доступна.
Что еще я могу сделать?
Это не вопрос программирования. это больше о UX, который по существу просит мнения. –
Если css, который скрывает ответы, является частью страницы и отображается перед затронутым элементом, этот элемент никогда не должен появляться в течение секунды. Если этот css находится в отдельном файле, элемент может появиться до загрузки css. – Grax
Тщательно прочитайте [Инициатива доступности веб-сайтов (WAI)] (http://www.w3.org/WAI/). – Brett