TPAC 2019参加報告
アクセシビリティ・エンジニア 中村(直)W3Cが年に1回行っているミーティングイベントTPAC 2019について、9月16日と17日の2日間参加してきました。TPACは私自身は初めての参加で、議論や情報交換が活発に行われている様子をうかがうことができました。私からは、2日間まとめてのレポートを簡単にお届けしたいと思います。
既にアクセシビリティBlogに掲載されている当社黒澤によるレポートもあわせてご覧ください。
1日目
1日目は主に、Internationalization Working GroupとAG Silver Task Forceを傍聴してきました。
Towards Accessible Ruby
『Towards Accessible Ruby』というスライドで村田真氏がスライドで発表を行い、ルビについて議論を行っていました。議論のたたき台となったのは「昆虫」という単語でした。
音訓の小・中・高等学校段階別割り振り表(平成29年3月):文部科学省によれば、「昆」の字は中学校で習う漢字とされています。したがって、小学校の早い段階では「こん虫」と交ぜ書きにすることが考えられます。
そのような前提条件を踏まえると、書き方のパターンは、次のように6つ考えることができます。
- まぜがき「こん虫」
- すべて漢字「昆虫」
- すべてひらがな「こんちゅう」
- まぜがきにルビ「こん
虫 」 - すべて漢字でパラルビ「
昆 」虫 - 漢字で総ルビ「
昆虫 」
特定の人に対して、次のような状況が考えられます。
- ロービジョンの人を考えると、ルビは通常、ベースの文字より小さくなることにより、ルビの文字が見づらくなる。(4~6)
- ディスレクシアの人を考えると、ひらがなが識別できないことがある(2以外すべて)ことと、ルビが存在する場合(4~6)に、ルビ文字の色を変えたり、ルビベースとルビ文字との間に十分な距離を取ることによって識別しやすくする必要がある。
- 日本語が第二言語の人を考えると、漢字だけだと読めないことがある(特に2)。
これらを皮切りに、実装と仕様、両者の観点から様々な議論が行われていました。議論されたのはルビですが、アクセシブルな日本語とは一体どういうものなのか?というのを考えさせられる一幕でした。
AG Silver Task Force
WCAGの次世代版と目されているSilverですが、私が傍聴したときには、WCAG to Silver Mapについてを議論しながら内容を詰めていく作業の真っただ中でした。
Silverができ上がってくるまでは、今しばらく時間がかかるように感じました。また、達成基準の番号で議論しているのがとても印象的でした。
2日目
2日目となる9月17日はCascading Style Sheets (CSS) Working Groupのミーティングを傍聴しました。スケジュールとしては、他のグループとの合同ミーティングが主立ったものでありましたが、その中からいくつかのトピックを簡単に記したいと思います。
聴覚のみレンダリングするテキスト
アクセシビリティとの合同ミーティングでは、テキストを視覚的には表示したくない一方で、スクリーンリーダーには聴覚的に読み上げさせたい、という需要はありますが、これは例えば次のようなコードで実現できることが知られています。
.hidden-visually {
position: absolute;
left: -5000px;
}
他にも同様の効果を得る方法があるものの、いずれにせよ専用のCSSプロパティが実装されていないというのが大きな要因です(CSS Speech Level 1として提案されていたspeak
プロパティは存在しましたが、CSS Speech Level 1は既に廃止されている仕様です。)
ミーティングではARIA属性やinert
属性といったアプローチ、キーボードフォーカスについても取り上げられました。ミーティングの中ではこれと言った結論は得られることはありませんでしたが、この問題について、Amelia Bellamy-Royds氏とLéonie Watson氏が中心となって提案の原稿を作っていくことが確認されました。
適切なアクセシビリティオブジェクトを作るような提案に仕上がるのかどうかが1つのカギを握っていると個人的には思っています。
lang()
の正規化
関連issue: Consider Canonicalization of language tags in :lang() selector maching
HTMLでは、コンテンツの自然言語を特定するために、IETF BCP47という標準で規定される言語タグと呼ばれるものを用います。
HTMLを書いたことがある人になじみのある例を挙げるならば、
<html lang="ja">
というHTMLコードに対応する話で、このlang
属性値のja
が言語タグに当たります。
さて、CSS 2で導入され、現在はSelector Level 4仕様において定義されているlang()
という疑似クラスがありますが、この疑似クラスについて正規化した上でマッチングさせるとどのような挙動が適切か?というのがトピックとして挙げられました。
例えば、広東語であることを表す言語タグは前述のissueにも挙げられているように、次の3つが考えられます。
zh-HK
zh-yue
yue
上2つはレガシーな書き方で、一番下のものが好ましい書き方となっています。ここで、:lang(yue)
とした場合は当然、上2つの言語タグとマッチしないわけですが、言語タグの正規化を考えると、zh-HK
やzh-yue
ともマッチングするのが好ましいのかどうか、といったことが議論されました。
このトピックについて、これと言った結論は得られませんでしたが、当該issueを作成したFlorian Rivoal氏が引き続き検討を行っていくようです。
CSS Writing Modes Level 3がついに策定完了へ
W3Cの文書プロセスとしては、草案(Wonking Draft)→勧告候補(Candidate Recommendation)→勧告案(Proposed Recommendation)→勧告(Recommendation)という段階を踏んで、仕様が確定する仕組みになっているのですが、勧告候補の終了基準(CR Exit Criteria)の原則として、「2つの独立した実装」が必要とされています。
ミーティングではまず、直近のCSS Writing Modes Level 3勧告候補に対する実装レポートについてFlorian Rivoal氏から説明がありました。いくつかのテストについてはFirefoxのパッチが作成中であり、これに関しては解決する見通しがあるためにテストに合格するようになるとのことです。
さらに、ミーティング開始の時点でLevel 3のissueとして挙げられていた3つ(該当のissueに関してはCSS Writing Modes Level 3 Disposition of Comments for 2019-09-03 CRを参照)のものを中心に確認と議論が行われました。
その結果、該当するissueについての議論はLevel 4で引き続き行われることとされ、勧告案に進むことが決まりました。
"RESOLVED: Move CSS Writing Modes L3 to Proposed Recommendation." #css #w3c #TPAC2019
— Florian (@frivoal) September 17, 2019
これにより事実上、CSS Writing Modes Level 3は策定が完了したわけですが、仕様が前進する決定がされたときには拍手と歓声があがりました。勧告案にすることが決まる瞬間というのはなかなかお目にかかることができないため、この瞬間に立ち会うことができたのは幸運であったと思います。
最後になりますが、歴代のWriting ModesのEditorsの皆さん、本当にお疲れ様でした。