В настоящее время я пытаюсь придумать хороший и доступный способ форматирования индикатора состояния, который должен отображаться в наборе похожих на мастера страниц на веб-сайте. На веб-сайте должна быть многостраничная форма с индикатором состояния поверх нее, как показано на каркасе ниже:
Учитывая новый тег progress в HTML моей первой мыслью было сделать что-то вроде этого:
<progress value="2" max="3">
<ul>
<li>Beginning</li>
<li class="now">Right now</li>
<li>End</li>
</ul>
</progress>
... но поскольку ‹progress› принимает только фразовое содержимое с использованием списка, на самом деле это не вариант. Так что прямо сейчас я бы, вероятно, пошел с чем-то вроде этого, интегрировав прогрессбар-роль:
<ul aria-role="progressbar" aria-valuenow="2" aria-valuemin="1" aria-valuemax="3" aria-describedby="state2" aria-valuetext="Right now">
<li id="state1">Beginning</li>
<li id="state2" class="now">Right now</li>
<li id="state3">End</li>
</ul>
Но опять же, я не совсем уверен, можно ли таким образом применить роль индикатора прогресса к списку.
Другая проблема заключается в том, что «прогресс» отображается, например, как индикатор выполнения в Opera, поэтому «прогресс» сам по себе, вероятно, не совсем жизнеспособное решение :-(
Может ли кто-нибудь порекомендовать доступную строку состояния, которая не использует только одно изображение?
Текущее решение
Пока я буду использовать следующую разметку:
<section class="progress">
<h1 class="supportive">Your current progress</h1>
<ol>
<li><span class="supportive">Completed step:</span> Login</li>
<li class="now"><span class="supportive">Current step:</span> Right now</li>
<li><span class="supportive">Future step:</span> End</li>
</ol>
</section>
Все элементы класса «поддерживающие» будут располагаться за пределами экрана. ИМО, таким образом, у нас должен быть хороший компромисс семантической разметки (на мой взгляд, последовательность состояний - это действительно упорядоченный список ;-)) и доступности благодаря дополнительному заголовку и тексту состояния для каждого шага.