Skip to content
This repository has been archived by the owner on Jun 1, 2023. It is now read-only.

ビルド時のアクセシビリティlint導入の検討 #6848

Closed
magi1125 opened this issue Oct 9, 2021 · 9 comments · Fixed by #7148
Closed

ビルド時のアクセシビリティlint導入の検討 #6848

magi1125 opened this issue Oct 9, 2021 · 9 comments · Fixed by #7148
Labels
accessibility アクセシビリティ関連 help-wanted 特に助けを必要としているもの improvement 改善や新機能の要望

Comments

@magi1125
Copy link

magi1125 commented Oct 9, 2021

改善詳細 / Details of Improvement

期待する見せ方・挙動 / Expected behavior

  • eslint-plugin-vuejs-accessibility を導入するなど、CI時点でlintを行い、不適切な実装が合った場合は修正後のコミットを求める形はどうか。
  • 現在の実装として実施可能な状況か、また実行した場合のリスクなどを踏まえて議論したい。
@magi1125 magi1125 added improvement 改善や新機能の要望 accessibility アクセシビリティ関連 labels Oct 9, 2021
@yamanoku
Copy link
Contributor

yamanoku commented Oct 14, 2021

静的HTML生成結果においてAccesslintを導入するとかできたらいいかもしれません。
実際にうまく機能できるかはわからぬのでアイデアとして。

@yamanoku
Copy link
Contributor

プルリクエスト作成時に eslint-plugin-vuejs-accessibility が走って違反していた場合マージできないという仕組みがあるのはいいかもですね。

ただ eslint でのアクセシビリティチェックについては「コンポーネント単位」で違反していないかを見るに留める温度感で運用したほうがいいかなと。ページ全体のチェックはそれで補うには力不足なので。

@yamanoku
Copy link
Contributor

yamanoku commented Oct 14, 2021

現在のルールをみるに必要そうなのは以下かなぁと思っています。

ルール おおまかな内容
alt-text 代替の内容が必要な際にalt、aria-labelなどがあるかのチェック
aria-props 定義されていないaria属性(タイポ含む)をチェック
aria-role 存在しないもの、abstractなroleの使用をチェック
aria-unsupported-elements aria属性を使用できないタグで使用していないかチェック
form-control-has-label フォームコントロールに対してラベルが必ず付与されているかチェック
heading-has-content 見出しタグや見出しコンポーネントに対して内容が含まれているかチェック
no-redundant-roles タグに重複したroleを付与していないかチェック
role-has-required-aria-props roleの使用において必要になるaria属性があるかチェック
tabindex-no-positive tabindexに0以上の数値が入っていないかチェック

インタラクティブコンテンツのためのルールチェックもあるのですが、UIの振る舞いについてどこまで定義しているか分からなかったのでここでは含まないようにしてみてます。

@kaizumaki
Copy link
Collaborator

@yamanoku さん、フォローありがとうございます!

静的HTML生成結果においてAccesslintを導入するとかできたらいいかもしれません。

見た感じ、すごくよさそうですね。ただ細かな設定というのはできないのでしょうかね。
であれば、 eslint-plugin-vuejs-accessibility を運用した方がいいかもしれません。

@kaizumaki
Copy link
Collaborator

あ、そうか、Accesslint は静的html生成結果においてでしか意味をなさないのですね。

@yamanoku
Copy link
Contributor

あ、そうか、Accesslint は静的html生成結果においてでしか意味をなさないのですね。

ですです。なのでそのビルドフローがあれば導入してみてもいいかなという感じですね。

@kaizumaki
Copy link
Collaborator

@yamanoku ありがとうございます!
ではyamanokuさんがリストアップしていただいたルールをもとに、 eslint-plugin-vuejs-accessibility を導入してみましょうか。

@kaizumaki kaizumaki added the help-wanted 特に助けを必要としているもの label Oct 14, 2021
@Da-1kun
Copy link

Da-1kun commented Mar 18, 2022

@magi1125 @yamanoku @kaizumaki
PR作成しましたのでご確認いただきたいです!

@kaizumaki
Copy link
Collaborator

@Da-1kun おお、ありがとうございます!助かります! 🙏

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accessibility アクセシビリティ関連 help-wanted 特に助けを必要としているもの improvement 改善や新機能の要望
Projects
None yet
4 participants