ウェブを廻っていると、たまに縦書きで表示されるウェブページがあります。
では、それはどのようにして実現されるのでしょうか。
そして、その方法はウェブにおいて、やって良いことなのでしょうか、それとも、許されざることでしょうか。
ここでは、縦書き文書について論じます。
かつては、文字絵(アスキィアート)と全く同じ発想で、縦書き文書を作る方法が考案され、実際多くのウェブで採用されたようです。
これらの手法は視覚系ブラウザでの見てくれだけのために調整されたものであり、よって想定しているブラウザ(多くはインターネットエクスプローラですが)以外では全く読めない文書となる可能性があります。
要するにアクセシビリティの欠片も無い代物であり、今日では絶対に許されない手法といえます。
現在、ウィンドウズ版のインターネットエクスプローラ5.5以降には、縦書きを実現するCSSプロパティが実装されております。
しかし、これは現在策定作業中のCSS第三水準の草案を慌てて実装したに過ぎません。
現在のCSSの標準規格の範囲(CSS第二水準まで)であっても、力ずくで縦書きウェブを実現する事は不可能ではありません。
但し、それは余りにも強引な手法であり、状況によってはあっさり破綻してしまうかも知れません。
具体的には、縦書きを実現したい<h○>要素や<p>要素などの横幅を無理矢理一文字分、すなわち「width: 1em;」とします。
こうする事で内容のテキストは一文字ごとに折返されて縦に並んだように見えるという訳です。
また、行を右から左に並べるのであれば、縦書きを行う全てのブロックレヴェル要素に「float: right;」を当てる事で右に寄せることが出来ますが、これもブロックの状況次第に依っては、破綻する可能性があります。
これらの方法は、元のHTML文書が問題無くマークアップされているのであれば、CSSに対応していなくても文書としては問題が無いので、その意味では問題は無いと言えます。
しかしながら、この手法にも幾つか問題があります。
縦書きスタイルを当てたブロックレヴェル要素は、内容が続く限りどんどん下に折返していくでしょう。
この為、画面に収まると判断される範囲で段落を切らなければなりません。
結局、マークアップが作為的(或いは非論理的・非構造的)になってしまう恐れがあります。
日本語には禁則という概念があり、句読点や小文字仮名が続く場合は折返しが禁じられております。
つまり、句読点や小文字仮名を用いると、縦書きは間違い無く破綻してしまうという訳です。
句読点以外にも、欧字が続く場合、それを一つの欧字単語と見做してしまった場合、その範囲では折返しは一切行われない筈です(欧米語では単語の途中での折返しを厳しく禁じているため)。
折返しを強引に実現する為に、無理矢理半角空白などを挟むという事も考えられますが、そんな事をしたら縦書きCSSに対応しない環境では正しく内容が伝わらなくなる可能性もあります。
結局、句読点や小文字仮名及び欧字は現状の縦書きCSSではタブーということになってしまいます。
現状、日本語のフォントは、原則として横書き専用となっており、従って句読点などはそのまま縦に並べると(上述の禁則の問題が解決したとしても)変な見映えになってしまうでしょう。
日本語版ウィンドウズなら、縦書き専用フォントもあるので、それを指定すれば見られたものになるでしょう。
しかしながら、海外のウィンドウズ環境では、縦書き専用のフォントが入手出来ないかも知れません。
また、他のプラットフォームでは縦書きの事を一切考えていないかも知れません。
結局、無様な縦書き文書を晒す可能性があるといえる訳です。
フローティングを用いてレイアウトする場合、画面の幅が小さいとフロートした要素が折返されて配置されます。
その結果崩れが生じる恐れがあります。
対策としては、全ての要素の高さを揃えるのが一番いい方法で、次善策としては縦方向のマージン・ボーダ・パディングの幅と要素の高さの合計を揃えるようにすれば良いでしょう。
また幅が狭い環境ではフロートの折返しが発生することを考えて、上下に充分なマージンを取っておきましょう。
勿論、上述の問題点をしっかりと見つめた上で、問題の起こらないような文書を作成する事が可能なら、絶対にやるなとは申しません。
ただ、文書作りの最中に文書そのものではなく、見映えのことを考慮しなければならないというのは、良いウェブ作りには邪魔になってしまうのではないでしょうか。
そう言った問題から、個人的にはお勧めできません。
|にするなど、アクセシビリティの問題があるものの、個人的にすばらしいデザインだと思った縦書きサイトもあります。
この世の中には縦書専用ブラウザも存在します。
横書き環境で縦に見えるように腕ずくで作ったウェブは、縦書きブラウザではどうなるでしょうか。
文字が左から右に書かれるのを上から下に、行が上から下に並ぶのを右から左に並べて行く訳です。
つまり、上記の縦書き文書は文字が右から左に並び、行は下から上に並ぶ事になるでしょう。
やはり、強引な縦書きは好ましくないでしょう。