Во-первых, доступность - это не то, что вы хотите, никогда не пытайтесь изменить ожидаемое поведение.
При использовании программы чтения с экрана ожидается, что элементы будут перетекать слева направо, сверху вниздно в 99% случаев (как вы обычно читаете страницу).
Идея заключается в том, что пользователь программы чтения с экрана получает то же, что и тот, кому не нужно его использовать.
Что касается фокусировки, никогда не вмешивайтесь в это, если это что-тоинтерактивный (интерактивная ячейка, ссылка и т. д.).
Если что-то можно сфокусировать, оно также должно иметь отличительную границу (это помогает пользователям, использующим вкладку для навигации из-за проблем с мобильностью, знать, где находится их текущий курсор на вашемsite.) - просто дополнительный совет, не относящийся к вашему вопросу.
Текущий порядок чтения правильный, не мешайте ему.
Что касается использованияКлавиши со стрелками, которые могут быть полезны, просто используйте JavaScript, чтобы перехватывать нажатия клавиш и соответственно перемещать фокус (если хотите, попробуйте еще раз и напишите другой вопрос с примером кода).
Имейте в виду, что вы должны такжепредоставить людям возможность отключить это поведение клавиш со стрелками, так как они могли изменить привязки клавиш в своей программе чтения с экрана, и этоПроблемы с доступностью, если ваш JavaScript мешает их предпочтительным привязкам клавиш.
Я не уверен, почему вы сказали, что не хотите фокусировать элемент, если ваши пользовательские элементы HTML
в первую очередь имеют фокусотрегулируйте эти элементы (как вы, должно быть, добавили tabindex=0
или несколько JS к этим элементам, чтобы сделать их фокусируемыми, поскольку <divs>
по умолчанию не фокусируются.)