三点リーダーによる省略を複数行へ対応させる必要性

三点リーダーによる省略が複数行に対応した場合の想定結果

今のところ独自実装(SafariとChromeは古いFlexbox実装に基づいて独自拡張したもの、古いOperaはプリフィックス付きの値)しかない複数行に対応したtext-overflow: ellipsisだが、それを求める意見は多く見る。僕も欲しい派であったが、本当に必要なのかどうかという疑問がわいた。

三点リーダーを使った複数行の省略を使いたいケースとしては、見出しと概要をセットにしたニュースの一覧くらいしかないように思う。この数少ないユースケースでも三点リーダーにこだわる必要はなさそうだ。

View Demo: Multiline Ellipsis-like Design

デモでは三点リーダーの代わりに→を使っている。text-overflowプロパティーを使うような場合と違い、常に各ブロックの右下に表示されるが、この矢印のような完全なページがあることを示すアイコンや文字列は必要で、常に表示されていても違和感を感じることはないはずだ。

完全なページがあることを示すアイコンや文字列の必要性には議論の余地はある。例えばブロック全体をリンクにしたら必要ないとすることもできるだろう。しかしその場合でもブロック全体をリンクとして文字を青かつ下線付きなどにはできないし、マウスカーソルが変わることだけでは不十分なため、インターフェイスとしてリンクであることを示唆することは難しい。結果、不完全なものにしかならない。

そういったアイコンや文字列がほぼ不可欠な要素であるならば、それをうまく使った方が良いはずだ。実装と環境に依存する三点リーダーは単に複数行に対応していないだけでなく、違和感のある位置ずれ二点に欠けてしまうバグなども多く残っており、気軽に採用できないことも合わせて考えるとなおさらだ。特にこのような場合は三点リーダーの持つ続きがあるという示唆を失うわけではないので、一考の価値があるのではないだろうか。


三点リーダーによる省略の複数行版は、ほぼレイアウト都合で開発者が欲しがっているだけのものだと言ってよい。それを使って作られたウェブサイトのユーザーに利益はほとんどなく、アクセスできる情報に差ができてしまうという不利益しかない。この辺りのユーザー環境に依存した差異が吸収できないことが考慮されているからこそ、テキスト系モジュールのCSS仕様ではなくBasic User Interface ModuleというCSS仕様text-overflowプロパティーは定義されているわけだ。