現時点では、HTML5標準は、記事/セクション/ナビゲーションなどで最初に見つかった見出しからタイトル/見出しを自動的に作成します。私が抱えている問題は、なぜ<caption>
見出しと同じように扱われるべきではないのかということです(概要の目的で)。
以下のコードを例にとってみましょう。これは、ドキュメントのアウトラインにタイトル付きのセクションを含めるために使用する必要があるものです。
<table>
<caption>Results from zombie duck experiment</caption>
<h2 style="display: none;">Results from zombie duck experiment</h2>
<tr>
<td>FAILURE</td>
<td>FAILURE</td>
</tr>
</table>
(これはこのアウトラインを生成します:http: //gsnedders.html5.org/outliner/process.py? url = http%3A%2F%2Froncya.com%2Ftransfer%2FHTML5CaptionDocumentOutline2.htm)
なぜそれが機能するのか理解しています。HTMLDoctorは、これが推奨される方法であるとまで言っています。
アクセシビリティ上の理由から、各セクション要素には見出し、偶数
<aside>
、およびを付けることをお勧めし<nav>
ます。これらの見出しを表示したくない場合は、CSSでいつでも非表示にできます。--http ://html5doctor.com/outlines/
確かに、しかしなぜこれではないのですか?:
<table>
<caption>Results from zombie duck experiment</caption>
<tr>
<td>FAILURE</td>
<td>FAILURE</td>
</tr>
</table>
(これは、この失敗したアウトラインを生成します:http: //gsnedders.html5.org/outliner/process.py? url=http%3A%2F%2Froncya.com%2Ftransfer%2FHTML5CaptionDocumentOutline1.htm)
W3Cが意識的な決定を下したと思いますが、私が持っているアイデアは次のとおりです。
- テーブルには終了タグがありますが、div、span、article、section、navなどの「ラッパー」として実際には使用されません。その意味で、彼らは「囲まれたセクション」を定義していません
- 見出しは見出しであり、キャプションは見出しではありません(...あまり答えません)
- 典型的なキャプションは適切なタイトルにはなりません(私はこれに同意しません)
3番目については、典型的なキャプションは、ドキュメントのアウトラインのタイトルとしても役立つと思います。それらがテーブルの上にあるか下にあるかに関係なく。一体、なぜそれが何もないより悪いのかさえ分かりません。これらの可能なキャプションを例に取ってください-私はそれらがすべて適切なドキュメントアウトラインセクションタイトルであると思います:
- ゾンビダック実験の結果
- 図3b
- Windows8リージョンの価格
- どのブランドに何が含まれていますか?
- チートコード
- 色
- 歴史のさまざまな時期におけるエイブラハムリンカーンの服装
それは私には確かに理にかなっているでしょう。