趣味Web 小説 2004-03-11

del 要素を表示しないスタイルの是非

やや蛇足になりますが、HTML4.01仕様書で、del要素とins要素は、それが変更点であるということを明確にするようなスタイルで表現されるべきであるとされています。しかし、del要素に対してのスタイルの例として、「表示しない」ことで変更点であることを表現するというものが挙げられているのですが、表示されなかったら明確ではないと思うのですがね。取り消し線をひくなど、以降に続く表示例のほうが相応しいと思います。

表示されなかったら明確ではないという意見には賛同できない。書籍が版を重ねる際に記述を修正する場合には、削除された文章を隠すのが通例となっているが、yuu さんは「元々何らかの記述があり、それが削除された」ことを示すのが del 要素の役割とお考えだから、引用したような意見になるのだろう。だが、del 要素の役割は「内容の無効化」ではなかろうか。元々どのような記述が存在したのかということは、重要ではない。むしろ、del 要素の内容は存在しないものとして扱うべきではないか。

del 要素の表示・非表示に、たいへん示唆に富む例が紹介されている。

さて、望ましい削除と追記の方法はいずれか? 仕様書に deleted text may not be shown at all とあるのは、まさにこういった問題を予見していたからではなかろうか。表示結果から要素の使い方を考える……というと、本末転倒なようだけれども、一概にそうとはいえない。結果から理由を類推させる、という説明の仕方もある。仕様書の解説は、del 要素の意義は「削除の告知」ではなく「内容の無効化」だ、と端的に表現している。

追記:2004年3月13日

del 要素と ins 要素は版管理の必要な文書を想定しているので、過去の記述を断りなく消すことが一切できない状況が前提となっています。通常の文書はそういった制約下にありませんから、基本的に del 要素などを使う必要はないでしょう。また音声系ブラウザの場合、del 要素の内容をいちいち読み上げられる現状は、かなりうるさく感じます。削除訂正された箇所は、とくに興味のある人だけが知ることができれば(例えばユーザスタイルで del 要素の読み上げを許可するなど)十分かもしれません。

「元々どのような記述があったのか」を重視する場合には、del 要素ではなく、他の方法を用いるべきではないかと思うのです。一般に Web サイトの目次は削除・追記が頻繁に行われますが、del 要素や ins 要素でそれらをいちいちマークアップしている例を、私は見たことがありません。目次の変遷は「更新履歴」などで示すのが妥当なのであって、「削除」だから del 要素、「追記」だから ins 要素、という単純なものではないだろう、と私は考えます。

Information

注意書き