HTML 5に導入される予定の<u>要素。
- 平成23年 4月17日 公開
- テーマ
HTML 5の仕様草案に平成23年 4月13日付で追加された<u>要素について。
初めにお断りしておきたい事。
WHATWGでは、HTML 5の更に先の規格として、HTML(ヴァージョン番号が付かない)の策定を目指しております。
このような事から、HTML 5の草案は既にHTML Living Standard(HTML 〜生きている標準〜)と言う題名に変更されております。
ですが、現在でもWHATWGの草案に反映されたものは、そのままW3CのHTML 5仕様案に反映されております。
また、WHATWGの仕様草案でも、冒頭に、これはHTML 5ですか?と言うセクションを設け、そのセクションの冒頭で手短に言えば、そうですと書いております(仕様案は全て英語ですので、表題は拙訳で書いております)。
以上の事から、今回話題にする<u>要素もまたHTML 5に導入された新フィーチャと見なす事が出来ます。
今回だけでなく、今後もWHATWGのHTML草案に掲載された事柄については、同様にHTML 5の仕様案として書いて行きます。
<u>要素とは。
HTML仕様案〜生きている標準〜に平成23年 4月13日付で<u>要素が追加されました。
<u>要素は、HTML 3.2とHTML 4.01 トランジッショナル文書型及び同フレームセット文書型で導入された物理要素で、下線を引かれたテキストと言う定義でした。
当然、HTML 4のポリシーに従い、HTML 4では非推奨要素とされました。
結果、この要素は将来の仕様からは完全に消える予定だったのです。
HTML 5での<u>要素の定義。
HTML 5では従来物理要素だった<b>要素, <i>要素及び<small>要素に対し、表示スタイルを特定せず論理的な意味を与えた要素として再定義しました。
更に、西暦2010年10月までの改訂で、<s>要素も再定義されました(詳細はHTML 5での<s>要素の定義をご覧ください)。
そして、西暦2011年 4月13日には、<u>要素も以下のような定義でフレージング内容要素(従来のHTML 4/XHTML 1でのインライン要素に相当)として再定義されました。
The u element represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt.
In most cases, another element is likely to be more appropriate: for marking stress emphasis, the em element should be used; for marking key words or phrases either the b element or the mark element should be used, depending on the context; for marking book titles, the cite element should be used; for labeling text with explicit textual annotations, the ruby element should be used; for labeling ship names in Western texts, the i element should be used.
つまり、
<u>要素は明確にレンダリングされるもののはっきりとは発音されない、非テキストでのアノテーションを伴うテキスト区間(例えば中国語のテキストに於ける固有名詞の明示や、誤字のある語句の明示など)を表します。
殆どの場合、他の要素の方がより適切となります。
- ストレスを伴う強調なら<em>要素を用いるべきです。
- キーワードやキーフレーズなら<b>要素か<mark>要素を文脈に合わせて用いるべきです。
- 書籍の題名なら<cite>要素を用いるべきです。
- テキストでの注釈を伴う語句になら<ruby>要素を用いるべきです。
- 西洋語のテキストで船の名前を明示するならなら<i>要素を用いるべきです。
となりました。
一番簡単な考え方としては、<u>要素は<em>要素, <strong>要素, <cite>要素, <b>要素, <i>要素, <small>要素, <mark>要素, <s>要素, <ruby>要素などと言った、他のフレージング内容要素に該当しないが特別なテキストとしてレンダリングされるべきテキストと言う事になります。
ただ、実際問題として、該当するテキストと言うのは余り無いのではないかと思います。
<u>要素に於ける注意点。
仕様草案には、<u>要素に関して以下のような注意書きがあります。
The default rendering of the u element in visual presentations clashes with the conventional rendering of hyperlinks (underlining). Authors are encouraged to avoid using the u element where it could be confused for a hyperlink.
つまり、
<u>要素の視覚表現に於けるデフォルトスタイルはハイパーリンクの一般的なレンダリング(下線付き)と衝突します。文書作成者には、ハイパーリンクと紛らわしい箇所で<u>要素を使わない事を強く勧めます。
HTML 4.01で<u>要素が非推奨となった理由としてしばしば挙げられる点ですね。
ハイパーリンクと紛らわしい箇所と言うと、メニューなどのナヴィゲーション関連などが挙げられます。
こう言ったところでは使わないようにしなさいと言う事になります。
- 個人的には、何でこんな限定的な要素が今頃追加されたのか分かりませんが…。
HTML 5での<u>要素追加に関する感想。
HTML 5では、これまでプレゼンテーショナルとされた要素についても、新たな論理的定義を与える事で、復活させてきました。
<u>要素もその流れに沿ったものと言えますが、定義を見る限り、果たして必要なのかと言う気もします。
- まぁ、中国語テキストの例もありますが。
実際問題として、<u>要素としなければならないところと言うのは制作者には全然思い付きません。
ですので、<u>要素もある程度に捉えておけば良いと思います。
- 平成23年 7月 8日付で書いたHTML 5での<u>要素の使い方もご覧ください。