Open MurakamiShinyu opened 4 years ago
https://github.com/vivliostyle/vfm/issues/5#issuecomment-768119623 の「role 属性について」から:
@
をプレフィックスする記法(例: @appendix
)は廃止したい::: appendix
または {.appendix}
→ <section class="appendix" role="doc-appendix">
[role="doc-appendix"]
ではなく .appendix
を使うこと)
DPUB-ARIA で定義された role 属性に指定できる語彙は、文書の要素の論理的な意味を表すものとして標準となるもので、これをサポートすることは作られるWeb文書のアクセシビリティの向上のために有用である。
しかし、この role 属性は、クラス名とは違い、スタイルの指定に使いやすいようにはなっていない。スタイルの指定にはクラス名のほうが便利である([role="doc-appendix"] {…}
より .appendix {…}
のほうがシンプル)。
また、role 属性のために定義されている語彙は限られており、そこにないものはクラス名を使う必要があるため、スタイルシート内で role 属性とクラス名の両方を使い分ける必要があり、それもめんどう。
したがって role 属性を指定しても、クラス名にも同じ名前を指定するようにして、スタイルシートではもっぱらクラス名を使う方が便利。
それならば、VFM でのクラス名を指定する構文(例: ::: appendix
や {.appendix}
)で、DPUB-ARIA で定義された語彙 と一致する名前に対しては <section class="appendix" role="doc-appendix">
のようにクラス名と role 属性の両方を出力するのがよいだろう。
HTML/CSS のクラス名は、文書構造で論理的に意味のある名前を使うことが推奨されており、また、DPUB-ARIA で定義されているのはそのような語彙を集めたものなので、それをクラス名にも使うのは理にかなっている。 そしてクラス名とともに role 属性が HTML に出力されることは、VFM の利用者が意識しなくても出力されるWeb文書のアクセシビリティの向上につながるというメリットがある。
role 属性によって自動的に生成する HTML 要素を変える機能は、ある role 属性値を指定するのに適切な HTML 要素は一種類と限らないし、期待される適切な HTML 要素が生成されると限らないという問題がある。 それよりも HTML 要素名を明示的に指定できるしくみがあったほうがよいだろう。その提案 → https://github.com/vivliostyle/vfm/issues/5#issuecomment-768119623 の「HTML 要素名を明示的に指定可能にする拡張案」
昨日の開発者会議を受けた #67 のとおり、本機能は v2 へ見送ります。
https://github.com/vivliostyle/vfm/blob/master/docs/vfm.md#wai-aria-role
The
doc-
prefix of Digital Publishing WAI-ARIA roles should not be ommited in the VFM syntax. We should use{@doc-toc}
forrole="doc-toc"
because:[role="doc-toc"]
. Using same role name is better to understanddoc-*