本節書摘來自異步社群《html5開發手冊》一書中的第2章,第2.1節,作者: 【美】chuck hudson , 【英】tom leadbetter 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
前一章中,我們介紹了一些用于建構頁面結構的html5元素。本章中,讀者将接觸到更多的html5元素(figure、time、details和mark等)和一些重新定義的元素(address、s、cite、ol、dl、small、b、strong、i、em、abbr和hr)。後面還會介紹到新的塊類型(block-level)的連結和wai-aria。由于這些元素都與頁面内容密切相關,是以将它們統稱為組合元素或文本級元素。
figure元素用于插入某張圖檔并添加描述。在html5以前,需要插入圖檔時隻有額外使用div之類的元素才能将文本添加到頁面中。這樣做的缺點在于圖檔和圖注之間并無任何關聯。而現在添加figure之後,可以再利用figcaption為圖檔添加圖注。
雖然figure通常用來插入圖檔,但它也可以是一段代碼、圖表、音樂或者視訊。通常情況下,figure主要用于圖檔。圖2.1所示為一個示例。用于建立圖2.1的代碼如代碼2.1所示。
代碼2.1 帶圖注的圖檔

讀者一定會為是否仍需要為figure元素加入alt文字(為不支援圖檔顯示的浏覽器提供的替代文字)而感到困惑。在figure之外的img元素總是需要alt。但如果圖檔隻是為了提供展示,而不需要被輔助技術來識别時,就可以使用空的alt屬性。不過,由于當今浏覽器和輔助技術的支援問題,這很有可能會影響可通路性。
我們建議無論在哪種情況下都應為圖檔加上alt屬性以防萬一。在代碼2.1中,圖注的描述已經很清晰。但對于使用螢幕閱讀器的使用者,他無法知道分析資料是如何表現的,是以alt文字可以提供此資訊。
雖然例子中直接插入了圖檔,但我們也可以利用canvas或者svg1繪制圖像。
注意:
最初,規範中推薦使用legend元素而不是新的figcaption元素。但是由于跨浏覽器樣式差别的問題,開發者都傾向于使用figcaption而不是legend。
如圖2.2所示,figure元素中不僅僅隻能包含一張圖檔,可以使用figure元素來顯示多張圖檔。代碼2.2解釋了如何在figure元素中插入多張圖檔。
代碼2.2 figure中插入多張圖檔
顯示圖檔内容的時候是否總是使用figcaption元素?如果單純是為了顯示某張圖檔(或圖表等),那麼使用普通的img标記足以。不過,如果它包含了額外的有助于内容描述的資訊,那麼就應該使用figure和figcaption。最後注意,figure中隻能包含一個figcaption。