別冊はてな話 このページをアンテナに追加 RSSフィード

 | 

2005-12-10

1行のソースコードにpreタグはいらない

自分のことは棚に上げてHTML話です。

よくブックマークレットのコードとか、はてなモジュールタグを書く時に、そのコードをpre要素にしているのを見かけますが、1行しかないコードを整形済みあつかいするのはおかしいですよ。コードだからpre要素にするっていう決まりはないでしょう。

HTML仕様を読んでみると(HTML 4.01 Specification (ja) - Paragraphs, Lines, and Phrases (ja)より)

PRE要素は、視覚系ユーザエージェントに対し、囲われているテキストが"整形済"であることを示す。整形済テキストを取り扱う際、視覚系ユーザエージェントは次の制約を受ける。

ということになっています。これは、空白類の処理に反して2つ以上連続する空白を作る必要があったり、上下の行の文字位置の関係性を保持したいときに使うものということでしょう。

その必要がないのにpre要素にするというのは、間違いとは言わないまでも、無意味マークアップです。しかも無意味なdiv要素やa要素と違い、pre要素は視覚系に影響を及ぼすケースが多いわけですから、閲覧者の混乱を招かないよう自粛することが望ましいのではないでしょうか。もし視覚的効果を狙って無意味マークアップをしているのなら、それはHTMLに背信する行為です。このっ、エセ原理主義者っ。

はてなタグを書くために仕方なくスーパーpre記法を使っている? そんなの関係ないです。数値参照でもさせて書きなさい、このっ、ハンパモノッ!

こんなのもこんなのもこんなのも! 全部おかしいのです! 私が書いたのもあるけどね!

そういうわけで登録したのがこのアイデア

はてなアイデア

あの、文中にちょっと例示したい文章があって引用記法使いたいときってあるじゃないですか。でも自分が今考えた文章だから引用じゃないとき。

そんなとき私は「これは自分の思念に生じた架空の文章を引用してるんだ……引用なんだ……」と自分を納得させています。もうそこから解き放たれたいです……。

(追記)d:id:mkg_b:20051211:p1さんの記事で、1行でもほとんどの視覚系ブラウザでは pre 要素内を等幅フォントで表示するので、プログラムコードの視認性が向上する効果がある*というお話伺いました。1行内での等幅フォントによる視認性向上というのがピンと来なかったのですが、そういうお考えもあると分かったので今後気にしてみたいと思います。ありがとうございます。

微妙に残っているガイドアイコン

ダイアリー管理ツールトップ(http://d.hatena.ne.jp/ユーザー名/admin)で、ページを再読み込みするたびにタイトル横のアイコンはてなダイアリーのヘルプになったりガイドを見るに変わったりするのは仕様ですか?

smoking186smoking1862005/12/10 03:40そんなあなたにcode要素.
http://www.w3.org/TR/html401/struct/text.html#edef-CODE
インライン要素なのがたまに傷.

sugiosugio2005/12/10 05:08ありがとうございます。1行のはcode要素がぴったりなんですね。「code p」とかで見栄え指定できないのはちょっと残念ですが……とりあえずhatena.cssに欲しいような。

トラックバック - http://beta.g.hatena.ne.jp/sugio/20051210
 | 
日記内検索
カレンダー
<< 2005/12 >>
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
画像置き場