縦ぽん!!

仕事でWordPressを弄っていた時に、固定ページの表示が自分が意図したとおりにならないことがあることに気が付いた。

それはたまたま古いHTMLで記述したサイトをWordPressに移行しようとしていた時で、身に覚えのない空白行に違和感を感じたことがはじまりだったのだが、ごく普通に移行したページコンテンツに想定外の空白行が入ることはないだろうと思っていたのだが、ソースコードをよく見てみると余計なp要素が挿入されているのがわかった。

これ自体はWordPressのauto paragraphという機能が適切に? 処置してくれた結果で、テキストエディタでもbr要素の後に改行コードがあるとp要素に置換されているようだ(「ようだ」と書いてあるのは改行をコードを取り除いたら解決したため……検証するのが面倒くさいので詳細は不明)。

とはいっても、今後似たような作業をする都度改行コードのことを気にするのもヤボなので、なにか解決する方法がないかGoogle先生に尋ねてみたところ、いくつか対応策が目についた。

これに関するネタを書き込むならカテゴリーとしてはWordPressということになるのだが、今回はwebのカテゴリーで投稿している理由がある。それは解決方法をGoogle先生に尋ねていた時に目に入った一言が非常に気になったからだ。

その気になった一言というのが題名に書いた「HTMLでは文法的に連続改行させるのは違反」のような表現。これっておかしくないか?

独学で足掛け20年近くHTMLに触れてきた私だが、これまでネット上で「br要素を使って行間を空けたりせずcssを使いましょう」といった表現はいくらでも見てきたが「br要素を連続して使うのは文法違反です」などという表現は一度も見たことがなかったから正直驚いた。私が知らない間にいったいいつ頃から文法違反とまで言われるようになったのか? 大昔に「p要素を使うと改行されて一行空きます」みたいなことが書籍などで書かれていたことをふと思い出したが、それに近いような表現がされているサイトが増えているのは何故なのか。ひどいものになると「br要素は使うな」みたいな表現までされて、br要素が邪険に扱われるような印象を受けた。

W3Cやその日本語訳を見ても書かれてあるのは正しい使い方と不適合な使い方であって「連続してbr要素を使ってはならない」とか、まして「文法違反」なんて書いているようには読めないのだが、仰々しく「文法違反です」などと書かれているのを目にすると「何を根拠に言っているのか?」と問いただしたくなる。私はbr要素の連続使用を文法的に禁じているHTMLを知らないのだが、もしどこかにそのような情報があるのならぜひとも教えていただきたい。

br要素が連続して使われることに私は何も問題を感じない。必要ならそうすべきであって何も間違ってないからだ。ただ、使い方は考える必要があると思う。W3Cのbr要素の使い方にもあるように住所などの表記に改行が必要ならば連続で使ってもよいし、自由に改行させることにどのような問題があるというのか。連絡先をわかりやすく表記するためにあえて改行を連続して使って住所と氏名(あるいは会社名)の間に空白の行を設けることでそれを見た相手がよりわかりやすくなると思うのだが、文法違反と言っている人たちはいったいどのようなマークアップをするのか、逆に興味がわくというものだ。

そもそもbr要素は使うところが限られる要素で、考えてマークアップするなら使わないケースがほとんどなはずだ(他のマークアップに修正できる)。だからといって文法違反だとか使うなというのは少々乱暴すぎるのではないか。ブラウザでの表示を整形する目的でbr要素を使うべきではない、ということがいつの間にか文法違反ということに話が飛躍しているブログを見るとHTMLを正しく理解しているのだろうか、と心配になる。

とまぁそんな訳で、ブログとかで「HTMLでは文法的に連続改行させるのは違反」のような書き方をされている方はW3C日本語訳くらいは軽くでもいいから目を通しましょうよ、と助言申し上げたい。そうすれば、どこがおかしいか気づくと思うから。

関連する記事