2017-01-30 54 views
3

關於語義的問題。如果我有一個基本上是一個大表的HTML頁面,那麼我使用什麼元素作爲標題?正確的表格標題

通常,您將頁面標題使用h1,對錶格標題使用caption。但是如果表格是頁面上唯一的東西呢?包括兩個看起來有點傻。所以我使用h1而忘記caption,反之亦然?

有關於此的正式(W3C或WHATWG)建議嗎?如果是這樣,我找不到它們。

PS爲了這個問題,我們假設表格填充了表格數據,OK。

回答

0

在這種情況下,還沒有真正的標準。你最好選擇看起來更好,感覺更適合頁面的。就像你說的那樣,看起來很傻,所以只需使用一個更好的。即便如此,您仍然可以在CSS中自定義h1caption的外觀,因此它不是最終所有類型的交易。

元素傾向於用於某些事情,有些確實有一定的用途,但是像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元素中包含該表格的描述,爲標題元素留下標題,而且看起來並不傻。

speccaption元素包含一個例子:

在抽象的,該表是不明確的。然而,一個標題給表的編號(在主散文參考),解釋它的使用,它更有意義:

<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(例如,在IAccessible2 API爲IA2_ROLE_CAPTIONIA2_RELATION_LABEL_FOR中),但不是在所有的人(例如,蘋果公司的AX API似乎並沒有做任何事情,所以特別用它)。

在比較中,我認爲h1 and all other headings always get exposed with a heading role。屏幕閱讀器始終以一種方式公開所有標題,以便於在文檔中進行導航。

所以我想也許是因爲屏幕閱讀器用戶,captionh1之間:在問題描述,如果文檔中的將有一個,而不是其他方面,它可能是最好的,它是h1