記事本文
記事の投稿時刻を permalink へのリンクアンカーテキストにするということ
常々感じていたことだけれど、結局記事としては書かなかったことが書かれてあったので、便乗して書いてみます。
記事一覧から永続的リンクにリンクするときに例えば「00:15」のような時刻からリンクするものが多いのはどうにかならないのだろうか。 論理的におかしいとしか思えないのだが。
これは確かにその通りだと思います。 その記事の投稿時刻という文字列から、その記事の permalink にリンクされているということを容易に結び付けられる閲覧者はほとんどいないと思います。
リンクアンカーテキストをどう書くべきかの唯一の正解というものは決まっていませんが、もしリンク先の title 要素が適切に記述されているなら、それをそのままリンクアンカーテキストにするのが良いでしょう。 もし title 要素が適切であるなら、素早くリンクアンカーを作成できる手法も存在しますし。 ( Copy URL+ をカスタマイズ )
今回話題になっている weblog の permalink の場合、大抵は個別記事のことを同時に指すことが多いため、 weblog の記事一覧から permalink にリンクするような場合は、「この記事の永続的なリンク」と書いたり、または「この記事を単独で表示する」と書いたりすると良いでしょう。 もちろんそれが完璧な正解だと言うつもりはありませんが、少なくとも「何時何分」というこの先に何があるか分からない表現よりも分かりやすいと思います。
hxxk.jp ではどのようにしているか
ちなみに、 hxxk.jp のメインページや各種アーカイブから permalink へのリンクを行う場合は、次のように書いています。
- 月別・年別アーカイブなど、多くの記事へのリンクを羅列する場合
-
<ol> <MTEntries sort_order="descend"> <li><a href="<$MTBlogURL$><$MTArchiveDate format="%Y/%m/%d/"$>"><$MTEntryDate format="%Y/%m/%d"$></a> <$MTArchiveDate format="%H:%M"$> - <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li> </MTEntries> </ol> - メインページやヘッドラインなど、記事あたりの情報を詳しく書く場合
-
<h3><$MTEntryTitle$></h3> <dl class="entry-data"> <dt>date</dt> <dd> <ul> <li><$MTEntryDate format="%Y/%m/%d %H:%M"$></li> </ul> </dd> <dt><abbr title="Uniform Resource Identifer">URI</abbr></dt> <dd> <ul> <li><a href="<$MTEntryPermalink$>" title=""<$MTEntryTitle$>" を単独ページで表示する"><$MTEntryPermalink$></a></li> </ul> </dd> ( 中略 ) </dl>
Movable Type のデフォルトテンプレートが元凶 ?
こういう悪習が広まったのは、Movable Type が元凶か? あれの初期テンプレートはそうなっているようだが。
おそらくその通りでしょう。 Movable Type が、追従してきた他の weblog サービスに与えた影響は大きいです。 悪い意味も含めて。
手元に Movable Type 2.661 のデフォルトテンプレートが残っていたので、該当部分の記述を見てみると……
<div class="posted">投稿者 <$MTEntryAuthor$> : <a href="<$MTEntryPermalink$>"><$MTEntryDate format="%X"$></a>
<MTEntryIfAllowComments>
| <a href="<$MTCGIPath$><$MTCommentScript$>?entry_id=<$MTEntryID$>" onclick="OpenComments(this.href); return false">コメント (<$MTEntryCommentCount$>)</a>
</MTEntryIfAllowComments>
<MTEntryIfAllowPings>
| <a href="<$MTCGIPath$><$MTTrackbackScript$>?__mode=view&entry_id=<$MTEntryID$>" onclick="OpenTrackback(this.href); return false">トラックバック (<$MTEntryTrackbackCount$>)</a>
</MTEntryIfAllowPings>
</div>
やはり記事の投稿時間を permalink へのリンクアンカーテキストにしていますね。 ちなみにリンクアンカーテキストやその他の部分は、 div 要素を取っ払うと body 要素直下に直接 #PCDATA を記述している形になるので見ていてむず痒くなります。 ( デフォルトテンプレートは Transitional DTD ですので、それもありなのでしょうけれど。 )
ちなみに現時点での最新バージョンである Movable Type 3.171 のテンプレートを見てみると、
<p class="posted">投稿者 <$MTEntryAuthor$> : <a href="<$MTEntryPermalink valid_html="1"$>"><$MTEntryDate format="%X"$></a>
<MTEntryIfAllowComments>
| <a href="<$MTEntryPermalink archive_type="Individual"$>#comments">コメント (<$MTEntryCommentCount$>)</a>
</MTEntryIfAllowComments>
<MTEntryIfAllowPings>
| <a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">トラックバック (<$MTEntryTrackbackCount$>)</a>
</MTEntryIfAllowPings>
</p>
と、 body 要素直下に #PCDATA という形式には改善の兆しが見えるものの、記事の投稿時間を permalink へのリンクアンカーテキストにする部分は変化が見られません。 きっと Movable Type 3.2 がリリースされてもこのままなのでしょう。 ( もし Six Apart 側に、この点について誰か一人でも疑問を持っていれば、 2.x から 3.x へとメジャーバージョンアップする際に改善されずにいるという事態にはならないはずです。 ) ……と思ったら、 Movable Type 3.2 Beta で改善されました。
関連リソース
- 「ここ」というリンクについてのリンク集
- ねこめしにっき - アンカーテキストにも「品質」があるですよ
- ねこめしにっき - リンクアンカーつれづれ長文注意
- 時刻からの永続的リンク [/design/html] - 行動記録
長々と書きましたけど話題に進展性がなく、私が「うんうん、そうですよね」ってうなずいているだけのような記事なので、時刻からの永続的リンク [/design/html] - 行動記録へのトラックバックは未送信。

