2017-01-30 4 views
3

Вопрос семантики. Если у меня есть HTML-страница, которая является в основном одной большой таблицей, какой элемент я использую для заголовка?Правильный заголовок для таблицы

Обычно для заголовка таблицы используется h1 для заголовка страницы и caption. Но что, если таблица единственная на странице? В том числе и выглядит немного глупо. Так я использую h1 и забываю о caption или наоборот?

Существуют ли официальные (W3C или WHATWG) рекомендации по этому вопросу? Если это так, я не могу их найти.

PS Для этого вопроса предположим, что таблица заполнена табличными данными, ОК.

ответ

0

На самом деле нет стандартов, которые можно использовать в такой ситуации. Вам лучше всего выбрать тот, который выглядит лучше и будет более подходящим для страницы. Как вы сказали, оба выглядят глупо, поэтому просто используйте тот, который подходит лучше. Даже тогда вы всегда можете настроить в CSS то, что выглядят h1 или caption, так что это не сделка конца для всех.

Элементы, как правило, используются для определенных целей, а некоторые имеют определенные цели, но визуальные вещи, такие как h1, не стандартизированы.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element

+1

Как это выглядит, на самом деле не проблема. Вы можете легко сделать [заголовок, который выглядит как h1] (https://jsfiddle.net/MrLister/12ef8qq2/) или [наоборот] (https://jsfiddle.net/MrLister/12ef8qq2/2/). Я спрашиваю о семантике. –

2

Таблица может содержать заголовок содержание свободной формы. Вы можете включить описание таблицы в элемент caption, оставив заголовок для элемента заголовка, и это не выглядит глупо.

spec для caption элемента содержит пример:

В абстрактном, эта таблица не ясна. Тем не менее, с заголовком дает номер стола (для справки в основном прозу) и объясняющей ее использование, это имеет смысл:

<caption> 
<p>Table 1. 
<p>This table shows the total score obtained from rolling two 
six-sided dice. The first row represents the value of the first die, 
the first column the value of the second die. The total is given in 
the cell that corresponds to the values of the two dice. 
</caption> 

Если таблица не требует пояснений, вы можете оставить подпись , но я по-прежнему рекомендую иметь заголовок на уровне документа. Заголовки являются важной частью схемы документа, а caption не играет роли (и, в частности, элемент title, даже если он представляет название документа). Несмотря на то, что реальных реализаций схемы вообще не существует, вы не ошибетесь, имея заголовок на уровне документа.

2

Я думаю, что одна проблема всегда должна заключаться в том, как она заканчивается тем, что она предоставляется посетителям экрана.

кажется, что the caption element gets exposed by some platform accessibility APIs in a special way (например, в API IAccessible2 как IA2_ROLE_CAPTION с IA2_RELATION_LABEL_FOR), но не во всех из них (например, AX API от Apple, кажется, не делать ничего такого особенного с ним).

Для сравнения, я думаю h1 and all other headings always get exposed with a heading role. И экранные устройства последовательно отображают все заголовки, чтобы облегчить навигацию внутри документов.

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

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