У меня есть следующий дизайн, который мне нужно разметить, макет которого я не могу изменить:
Пожалуйста, игнорируйте текст-заполнитель, я знаю, что это не так. имеет смысл.
Я выбрал стол, так как он на 95% похож на стол. Но я в тупике, когда дело доходит до соответствующей семантической разметки для расположения точек данных под каждым элементом. Каждая точка отличается, т. е. это не текст произвольной формы, и каждый раз он помещается в одно и то же относительное положение, но это нарушает традиционный макет таблицы данных, поскольку для этих точек не отображаются назначенные заголовки или метки. Мне интересно разметить такой макет, чтобы он был одновременно:
- Семантика
- Доступно для современных программ чтения с экрана (я знаю, что в некоторых старых программах чтения с экрана есть различные ошибки, но, как и в старых браузерах, я не думаю, что справедливо ограничивать лучшие/новые методы устаревшим программным обеспечением).
Я сталкивался с этой проблемой много раз за последние несколько лет, и, наконец, взломал и обратился к сообществу за советом. Я пытался:
- Использование отдельных
tbody
для каждого элемента, а также использование второй строки для дополнительных точек данных, но я сдался, когда не смог понять, как связать «подстроку» с элементом. - Расположение таблицы со всеми различными точками данных и заголовками по горизонтали, а затем использование CSS для позиционирования вещей. К сожалению, вопреки моему более раннему утверждению об устаревшем программном обеспечении, мне необходимо поддерживать IE 7, и этот метод не работает.
- Я рассматривал возможность использования скрытых строк-
th
иrowspans
для создания более сложного макета таблицы и пытался использовать ARIA. чтобы получить желаемые результаты чтения с экрана, все безрезультатно. - Я также рассматривал возможность использования вложенных таблиц, но это кажется очень и очень неправильным.
Любая помощь приветствуется.
Примечание. Визуализация этого для отображения в разных браузерах не так уж и сложна — мне интересно, как сделать это семантичным и доступным.