HTMLとJavascript

先日の言い訳Javascriptへの、真里さんからの返事より。

acronymや<span class="abbr">に置換するくらいなら、初めからそのようにマークアップしてもいいような気がします(aspでブラウザを判別してabbrのマークアップを変える、という事も出来るでしょうし)。

HTML文書のみを見た場合に、妥当validかつ厳格strictにしておけるという点で、自分はスクリプト変換する方法に意義を感じました。ASPでブラウザ判別、ということになるとIEに対しては厳格でない文書を公開してしまうことになりますが、ブラウザ側によるスクリプト変換なら公開する文書はstrictのままにしておける、ので。スクリプトの適用は(デフォルトではOnにせよ)ユーザが選択することもできますし。

もともとは自分はさほどstrict志向ではないのですが、特定ブラウザへの対応のためにHTML文書に手を入れるというのはあまりスマートでないとも感じていたので、このたび見つけたスクリプトでの対応方法は大変よさげに思えた次第です。

* * *

script実行後はソース上に変化が無いだけで、内部処理としてマークアップの置換が行われているわけですから、ValidなHTMLではなくなっていることには変わりは無いと思います。

"acronym"と"abbreviation"の意味を厳密にとらえてみると、確かに後ろめたいものが……。acronym要素が追加された経緯を考えると、そんなに厳密に使い分けるべきものか、という気もするのですが、経緯と意味は別の話、とも思うし……。というわけでspan要素に変換する方式に変更しました。

(2002年7月2日)

北村曉 kits@akatsukinishisu.net