要約

右から左に書かれたテキストが正しく表示されるように、基本となる方向を設定します。

テクニック

例1 — デフォルトの基本方向の宣言
<html xmlns="http://www.w3.org/1999/xhtml"
      xml:lang="he"
      lang="he"
      dir="rtl">

よくある質問

左から右に記述するドキュメントではdir属性を宣言する必要がありますか?

いいえ。HTML では、テキストの方向はデフォルトで左から右に設定されているため、左から右のドキュメントにdir属性を設定する必要はありません。右から左のドキュメントに埋め込まれている左から右のテキストのみを、指定する必要があります。

テキストの言語を設定するだけでもよいですか?

いいえ。言語の宣言は表示の方向性には影響しません。言語の設定は、テキスト読み上げのレンダリングにとって重要です。

代わりに CSS を使用して方向を設定できますか?

いいえ。CSS は、すべてのリーディングシステムで常に利用可能というわけではありません。HTML と CSS の仕様では、テキストの方向を設定するためにマークアップを使用することが推奨されています。

詳細については、Bidi サポートの CSS とマークアップを参照してください。

テキストを入力するフォームがある場合はどうなりますか?

フォームと入力でdir属性をautoに設定すると、実行時にリーディングシステムがテキストの方向を決定できるようになります。

bdi要素とbdo要素はいつ使用すればよいですか?

出版物でこれらの要素が必要になることは一般的ではありません。

bdi要素は、ユーザーが作成したテキストをドキュメントに挿入するために使用されます。テキストの方向がわからないため、リーディングシステムがコンテンツを調べ、必要に応じて基本方向を調整できるようにします。

bdo要素は、テキストの基本方向を上書きするために使用されます。たとえば、右から左のテキストを左から右の形式でレンダリングするように強制するために使用できます。

解説

HTML および SVG ドキュメントで、右から左に進行するテキストについて
は、基本のテキスト進行方向を設定することによって、リーディングシステムによってテキストが適切に表示され、支援技術によって適切に読み取られるようにすることが重要です。

右から左に記述するテキストがマークアップでエンコードされてメモリに保存されるのと、それがどのように表示され読まれるかは、同じではありません。正しい基本方向が指定されていない場合、ページの内容が順序どおりに読み取られない可能性があります。これは、左から右に記述するテキストが右から左に記述するドキュメントに埋め込まれている場合に特に問題となります。たとえば、数字や句読点などの弱い型指定の文字が間違った場所にレンダリングされたり、リストエントリが順序どおりに配置されなかったりする可能性があります。

ドキュメントの基本方向が右から左であることを示すには、ルートのhtmlまたはsvg要素にdir属性を追加するだけです。

<html … dir="rtl">

<svg … dir="rtl">

左から右の基本方向を持つテキストが右から左の文書に埋め込まれている場合は、それを囲む要素にdir属性を追加します。たとえば、文書に左から右の基本方向を持つ引用が含まれている場合は、囲むblockquotedir属性を追加します。

<blockquote dir="ltr">
   <p>It was the best of times, it was the worst of times, …</p>
</blockquote>

一連の文章の中で基本方向が変わる場合は、 dir属性を持つspan要素を追加します。

<p>
   <!-- right-to-left text -->
   <span dir="ltr">Accessible EPUB 3</span>
   <!-- right-to-left text -->
</p>

関連リンク