HTML 5での<s>要素の定義。
- 平成22年11月28日 公開
現在策定中のHTML 5に新たに追加される事となった<s>要素について、定義と制作者の私見を述べます。
<s>要素とは。
<s>要素は、HTML 4.01 トランジッショナル文書型及び同フレームセット文書型で導入された物理要素で、抹消線を引かれたテキストと言う定義でした。
従来のHTML 3.2で導入されていた<strike>要素と同じ定義の要素として多くのグラフィカルなウェブブラウザにて実装されていたため、互換性を考慮して追加されたものです。
但し、HTML 4のポリシーに従い、同時に非推奨要素とされました。
結果、この要素は将来の仕様からは完全に消える予定だったのです。
HTML 5での<s>要素の定義。
HTML 5では従来物理要素だった<b>要素, <i>要素及び<small>要素に対し、表示スタイルを特定せず論理的な意味を与えた要素として再定義しました。
<s>要素に対しても、西暦2010年10月までの改訂で、以下のような定義でフレージング内容要素(従来のHTML 4/XHTML 1でのインライン要素に相当)として再定義されました。
The s element represents contents that are no longer accurate or no longer relevant.
- The
s element is not appropriate when indicating document edits; to mark a span of text as having been removed from a document, use the del element.
つまり、
<s>要素は正確或いは適切でなくなった内容を表します。
<s>要素は文書編集を示すためには適しません。文書から削除されたテキストの区間をマークアップする場合には、<del>要素を用いてください。
となりました。
HTML 5での<s>要素の定義に関する疑問。
ところで、HTML 5に於ける<s>要素の定義を見て、疑問に感じた方もいるかも知れません。
<del>要素とどう違うのか?
正確或いは適切でなくなった内容
なら、<del>要素で抹消して良いのではないのか。- 何故、<del>要素とは別にわざわざ新たな要素を定義したのか?
確かに<s>要素と<del>要素の間の相違点は見え難いと思います。
ですが、<del>要素はあくまでもあとから編集した事を示すための要素、或いはあとから修正した場合にのみ適用出来る要素です。
一方、<s>要素は定義の注釈にもありますが、あとからの編集を表す要素ではありません。
例から考えてみましょう。
堀北真希ちゃんのDVD通販での例をもう一度ご覧ください。
制作者は本来の送料
と書き、更にはわざわざ、従来の送料ではありません
とも書きました。
- 現時点で送料有料は適切でなくなっているとしても、将来送料を請求するようになるかも知れません。
- 或いは一時的なキャンペーンとして送料無料にしているだけで、その時点では送料有料と言う表記が適切でなくなっているだけなのかも知れません。
- また、お客様にこのサイトでの購入がお得だと感じてもらうために、わざわざ頂く事を考えてさえいない送料を明示して送料無料のお得さを強調するために書いているのかも知れません。
これらの場合、あとから送料の記述を抹消するのとは違いますよね。
いずれにしても、このようにあとから消すのではなく、初めから消された状態で記述すると言うのであれば、<del>要素としてのマークアップは寧ろ不適切で、このような場合に<s>要素としてのマークアップが意味を成すと言えるのでしょう。
勿論、これまで頂いていた送料を無料にしたと言うのであれば、送料有料に関する記述は<del>要素として抹消するのが適切である事は言うまでもありません。
- 但し、これは私見ですが、<del>要素などは、本来訂正を明らかにするために用いるべきものと思われ、現状の改善を強調するために用いるのはちょっと違うような気もします。
強調のために抹消線を引く場合には?
日本語でのウェブ文書など、特にかつてのフォント弄りサイトなどでは、抹消線を強調の意味で用いる場合があります。
例えば、
大阪環状線では今も国鉄時代のボロ電車が第一線で活躍しているらしい。同じ環状線でも東京の山手線ではとっくの昔に全廃されたのに。
俺の嫁・堀北真希ちゃんが平成22年も富士フイルムの写真年賀状の広告に出て来た。
いずれも、敢えて抹消線を引く事で、逆説的ではありますがその語句を人目に引かせる、すなわち強調していると言えます。
- そもそも、消すくらいなら初めから書く必要はない筈です。
HTML 4/XHTML 1でのマークアップ作法では…。
さて、HTML 4/XHTML 1では、抹消線を引かれたテキストである<s>要素は非推奨要素とされましたが、この場合強調の一種となるため、強調の意図があるのであれば、<em>要素としてマークアップし、スタイルシート言語で抹消線のスタイルを実現すると言う形になります。
すなわち、HTML 4/XHTML 1では、例は以下のようにマークアップすべきと言う事になります。
- ここで、<em class="intention">要素にスタイルシート言語で抹消線のスタイルが与えられているものとします。
<p>大阪環状線では今も国鉄時代の<em class="intention">ボロ</em>電車が第一線で活躍しているらしい。同じ環状線でも東京の山手線ではとっくの昔に全廃されたのに。</p>
<p><em class="intention">俺の嫁・</em>堀北真希ちゃんが平成22年も富士フイルムの写真年賀状の広告に出て来た。</p>
- この辺りは、拙作・HTMLリファレンス内の<del>要素が<s>要素/<strike>要素と同一視出来ない例で解説しております。
HTML 5ではどうマークアップすべきか?
それでは、HTML 5ではどうすべきでしょうか?
結論から言えば、HTML 4/XHTML 1と同じにすべきと考えられます。
今一度、<s>要素の定義を思い出してください。
正確或いは適切でなくなった
とあります。
例で挙げたような強調のための抹消線であれば、寧ろ正確或いは適切と言う意図があって書かれたものと考えられます。
勿論、大阪環状線に充当されている国鉄型電車がJR京都・神戸線の新快速車輌と見紛うほどに魔改造されたとか、二番目の文章を書いた人が堀北真希ちゃんへの熱意を失ったと言うのであれば、<s>要素とすべきでしょうが、平成22年11月現在も大阪環状線の車輌は昔ながらの国鉄車ですし、二番目の文章を書いた制作者も未だに堀北真希ちゃんへの熱意は失せておりません。
結局、<s>要素の定義に反していると言う事となり、寧ろ<em>要素として強調する方が適切と考えられます。
HTML 5での<s>要素追加に関する感想。
プレゼンテーションを目的とした物理要素は排除されるべきなのは、定義で指定されたプレゼンテーションを実現出来ない環境が存在する事が理由だった筈です。
HTML 4/XHTML 1ではプレゼンテーショナルと言うだけで排除或いは使う事を好ましくないとされた訳ですが、通常のテキストスタイルでは表現すべきでないテキストと言うのも特定のスタイルを強要しない限り問題はない筈です。
<s>要素も<b>要素, <i>要素及び<small>要素同様、そのような発想から復活する事となったのでしょう。
個人的には、意図があるからテキストのスタイルを変えると言う思考を持っているため、このような発想で既存の要素を再定義・再利用する事は実に好ましい事だと思っております。
- 決して、廃れるべきトランジッショナルなHTMLの復活ではないのです。
但し、文書作成者側の立場として注意すべき事として、HTML 5での<s>要素は従来の抹消線を引くと言う目的で残したものではない、すなわち<s>要素は抹消線を引くと言う目的だけで使ってはいけない要素である事は忘れてはいけません。