明日からできる自作テーマ・受託プロジェクトのアクセシビリティ入門2018 セッションカバー画像

アクセシブルな
セッションスライド

男木島わぷー

スライドURL

男木島わぷー

より多くの人に届けるために明日からできる
自作テーマ・受託プロジェクトの
アクセシビリティ入門2018

WordCamp Ogijima 2018

男木島わぷー

自己紹介

【 1ページ 】
男木島わぷー

自己紹介

【 2ページ 】
男木島わぷー

今日お話しすること

【 3ページ 】
男木島わぷー

今日以降忘れずにいていただきたいこと

アクセシビリティは『品質』です。

【 4ページ 】
男木島わぷー

質問です。

皆さんのお手元にあって、もっとも手軽に
アクセシビリティを『意識』できるツールは
なんでしょうか?

【 5ページ 】
男木島わぷー

答え

スマホ

(Voice Over、Talkback)

【 6ページ 】
男木島わぷー

あれ?

特別なことはしていないけど、
ちゃんと読み上げられてるよ?

【 7ページ 】
男木島わぷー

もちろん、「音声ブラウザに対応することが
アクセシビリティ対応できたこと」という
ことではないけれど

【 8ページ 】
男木島わぷー

セマンティックにコーディングしていれば、
アクセシビリティ対策は難しくありません!!

【 9ページ 】
男木島わぷー

【参考】チェックツール(Chrome機能拡張)

【 10ページ 】
男木島わぷー

【参考】Chrome 開発者ツール

ChromeでGoogleの検索にフォーカスがあたっているときの開発者ツールの「Accessibilityタブ」の表示
Chromeの開発者ツールの表示
【 11ページ 】
男木島わぷー

WordPressのアクセシビリティ

WordPressはコア自体から
アクセシビリティに対応しています。

【 12ページ 】
男木島わぷー

テーマのアクセシビリティ

デフォルトテーマはWCAG 2.0に準拠しています。

【 13ページ 】
男木島わぷー

アクセシビリティ対応のための
プラグイン

アクセシビリティ対応を補助してくれる
プラグインもたくさんあります。

など

【 14ページ 】
男木島わぷー

また疑問が

それならば、自作テーマをアクセシビリティ対応
させたいときに必要なのは?

【 15ページ 】
男木島わぷー

自作テーマ作成時の注意点

【 16ページ 】
男木島わぷー

セマンティックにコーディングする

「マシンリーダブル」であること

  • タイトルタグを正しく使う
  • 文書構造を正しくマークアップ
  • キーボードフォーカスを消さない
  • 装飾画像の扱い

など

【 17ページ 】
男木島わぷー

装飾画像の扱い

「icon-search」で表示されるアイコンと「検索」のテキストあるボタンの画像
	
	
	

飾りのアイコンには「aria-hidden="true"」を!

【 18ページ 】
男木島わぷー

装飾画像の扱い

	
	
	

こういう組み方でもOK。『alt=""』は必要!

【 19ページ 】
男木島わぷー

装飾画像の扱い

アイコンの表示に擬似要素(::before、::after)の利用はおすすめしません!

【 20ページ 】
男木島わぷー

装飾画像の扱い

【その理由】

  • CSSが効かない状況ではコンテンツが無いものになってしまう
  • 疑似要素は音声ブラウザで読み上げられてしまう
  • プロパティ「speak」の実装が進んでいない

もしCSSで表示するなら「background-image」で!

【 21ページ 】
男木島わぷー

じゃあ、こういうのは?

フォームの入力画面で、入力項目のタイトルの横に「必須」の表示がある画像
【 22ページ 】
男木島わぷー

これは装飾じゃないですね!!

  
	必須
  

CSSが読み込めないことも起こりえます。
意味のあるアイコンは「HTMLで正しくコーディング」を!
CSSに頼らず、HTMLだけで意味を伝えられるように

【 23ページ 】
男木島わぷー

JIS X 8341-3:2016への準拠

『高齢者・障害者等配慮設計指針 - 情報通信における機器、
ソフトウェア及びサービス - 第3部:ウェブコンテンツ』

【 24ページ 】
男木島わぷー

role属性、aria属性の活用

role属性
要素に役割を付与するもの
aria属性
様々なWebコンテンツをよりアクセシブルに『拡張』するもの
【 25ページ 】
男木島わぷー

role属性、aria属性の活用

role属性の例

role="banner"
主にheaderに付与される
role="main"
メインコンテンツに付与される
role="navigation"
ナビゲーションに付与される

aria属性の例

aria-label=" *** "
ラベル(名前)付けする属性
aria-hidden=" *** "
マシンに認識させるかどうか明示する属性
aria-required=" *** "
フォームの入力項目が必須かどうか明示する属性

など

【 26ページ 】
男木島わぷー

アクセシビリティ対応している
プラグインの活用

アクセシビリティ対応している
プラグインを使ってラクをしましょう。

など

【 27ページ 】
男木島わぷー

【参考】コーディングスタンダード

WordPressにはアクセシビリティ
コーディングスタンダード
があります。

など

【 28ページ 】
男木島わぷー

プロジェクトのアクセシビリティ対応

【 29ページ 】
男木島わぷー

アクセシビリティは後回し?

  • コストがかかるから?
  • 難しそうだから?
  • わからないから?
  • 必要ないから?
【 30ページ 】
男木島わぷー

アクセシビリティは儲からない?

  • 誰でもその立場になり得る
  • コスト?それとも投資?
  • ユーザー層を見誤っていないか?
  • 売り上げを逃しているのでは?
【 31ページ 】
男木島わぷー

では、どこまでを求めるのか

【 32ページ 】
男木島わぷー

最初に方針を定めましょう

  • 必ずプロジェクト全体で方針を決めること
  • デザイン「だけ」ではアクセシビリティ対応はできない
  • プログラミング「だけ」でもアクセシビリティ対応はできない
  • クライアントも含めた方針の決定が先決
【 33ページ 】
男木島わぷー

「基準を知る」

【 34ページ 】
男木島わぷー

公式ディレクトリ掲載テーマを使うという選択肢

  • 「アクセシビリティ」対応テーマを利用する
  • 現時点のテーマディレクトリの「アクセシビリティ」タグ登録数は123件(デフォルトテーマ含む・2018年7月14日現在)
  • 本当にサイトの訪問者が必要な情報はなにか?
【 35ページ 】
男木島わぷー

公式ディレクトリ掲載テーマを使うという選択肢

【 36ページ 】
男木島わぷー

Accessibility Ready!!

【 37ページ 】
男木島わぷー

まずは必要最低限から

デザインのアクセシビリティ

  • 文字サイズ
  • 文字の色・コントラスト
  • ボタンのサイズ
  • ......

コーディングのアクセシビリティ

  • セマンティックな文書構造
  • role属性、aria属性
  • 代替テキスト
  • ......

なにより継続できることが大事

【 38ページ 】
男木島わぷー

インターネットがアクセシブルだからこそ
この島にこんなにたくさんの人達が集まれたわけで、
その世界の30%以上を支えるWordPress
いまアクセシビリティ対応を進めていくのは
意義のあることなんじゃない?

【 39ページ 】
男木島わぷー

アクセシビリティは
『品質』です。

【 40ページ 】
男木島わぷー

【協力】

男木島わぷー

ありがとうございました