新しいHTML5草案で追加されたbdi要素
HTML WGより1月13日付で、新しいHTML5草案および関連仕様の草案が公開されました。
- HTML5
- HTML5 differences from HTML4
- HTML: The Markup Language
- HTML+RDFa 1.1
- HTML Microdata
- HTML Canvas 2D Context
- HTML5: Techniques for providing useful text alternatives
- Polyglot Markup: HTML-Compatible XHTML Documents
いつもの通り、変更点の翻訳も更新しています。
変更点を読むと、ドラッグ&ドロップの変更とi18n関連の仕様追加が行われています。今回はこのうち、新しく追加されたbdi
要素について取り上げようと思います。
bdi
要素は、Internationalization Core WGの要望により追加された要素です。書字方向の異なる言語が混在する文書において、括弧やコロン、ピリオドが意図されない場所に配置されることがあります。これはこれらの記号類が周辺の文字の書字方向に影響されるというUnicodeの双方向アルゴリズムが働いた結果なのですが、これを「隔離 (isolate)」させ、周辺の文字から影響を受けないようにするのがbdi
要素です。Unicode制御文字を挿入することでこの問題は解決できるのですが、どういったデータが入力されるか分からないWebアプリケーションにおいてはマークアップレベルでの解決が望まれることがあり、I18n WGの提案に至ったようです。
Aharon LaninとRichard Ishidaによるスライド"Extending Bidi Support on the Web"の11枚目と12枚目では、カスタマーレビューのユーザー名やパンくずリスト中に入ったヘブライ語のテキストが及ぼす影響を分かりやすく示しています。
bdi
要素の導入にあたり、CSSのunicode-bidi
プロパティにもisolate
という新しい値の追加が検討されています。