アークウェブ
アクセシビリティ
Wiki
Web制作会社アークウェブのスタッフが、アクセシビリティに関するTips・ノウハウをまとめているWikiです
http://www.ark-web.jp/accessibility/2297.html
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
Ajaxのアクセシビリティ対応
Ajaxのアクセシビリティ対応/DOMで追加、修正されたコンテンツを読み上げさせることができるか?
Ajaxのアクセシビリティ対応/JavaScript OFF用、アンカーリンク
Ajaxのアクセシビリティ対応/JavaScript+OFF用、アンカーリンク
Ajaxのアクセシビリティ対応/情報収集
BracketName
FormatRule
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
InterWikiテクニカル
MenuBar
PHP
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
SandBox
ValidかつアクセシブルにYouTube(Flash)をHTMLに埋め込む方法
WAI-ARIA
WAI-ARIA/Live Regionのサポート状況、利用現状
WAI-ARIA/NVDAのLive Regionのサポート状況(2009.12.28)
WikiEngines
WikiName
WikiWikiWeb
YukiWiki
Zen Cart日本語版のアクセシビリティ対応/JIS:2009(改正原案)への追加対応
Zen Cart日本語版のアクセシビリティ対応/PC-Talkerでチェック
Zen Cart日本語版のアクセシビリティ対応/ホームページリーダーのチェック+α
Zen Cart日本語版のアクセシビリティ対応/現標準テンプレートを「富士通アクセシビリティ・アシスタンス」でチェック
Zen Cart日本語版のアクセシビリティ対応/現標準テンプレートをキーボード操作でチェック
Zen Cart日本語版のアクセシビリティ対応/目視チェック(JIS2009)
clip/Windows Vista対応の音声ブラウザ:アクセシビリティ対応ソフトウェア
jCarouselLiteのautoにて停止/再スタートできるようにするアクセシビリティ対応
jQuery UI に見る WAI-ARIA の実装:dialog 編
tag
tag/Ajax
tag/HTML5
tag/JIS X 8341-3
tag/JavaScript
tag/WCAG 2.0
tag/jQuery
tag/だれコン
tag/スクリーンリーダー
tag/試験方法
だれコン/2010-11-26シンポジウム
アクセシビリティメモ
アクセシビリティメモ/JIS X 8341-3 2009の7.3.3.4をZen-Cartに適用するには。
アクセシビリティメモ/JIS:2009 改正原案公開レビュー版 エクストリームリーディング会(1)
アクセシビリティメモ/W3CのMobile Web Best Practices 1.0
アクセシビリティメモ/「JIS X 8341-3 2009」のeXtream Reading(1)
アクセシビリティメモ/「JIS X 8341-3 2009」のeXtream Reading(2)
アクセシビリティメモ/「JIS X 8341-3」を読む(1)
アクセシビリティメモ/「JIS X 8341-3」を読む(2) (附属書1 (参考) ウェブコンテンツに関する例示)
アクセシビリティメモ/「Webアクセシビリティ JIS規格完全ガイド 改訂版」エクストリーム・リーディング会(1)
アクセシビリティメモ/「Webアクセシビリティ JIS規格完全ガイド 改訂版」エクストリーム・リーディング会(2)
アクセシビリティメモ/「改正迫るウェブアクセシビリティの規格(JIS X 8341-3)の改正のポイントと動向」
アクセシビリティメモ/『本物のWebアクセシビリティー・セミナー』 パネルディスカッション「東西の視覚障害者に、生の声を聞く」
アクセシビリティメモ/アックゼロヨン・アワード アクセシビリティ最高得点サイトのPDCAサイクル
アクセシビリティメモ/アックゼロヨン・シンポジウムVol.1「アクセシビリティのこれから」メモ
アクセシビリティメモ/社内用「アクセシビリティJIS(JIS X 8341-3) 理解度テスト2」をシェア
アクセシビリティメモ/社内用「アクセシビリティJIS(JIS X 8341-3) 理解度テスト」をシェア
アクセシビリティメモ/書籍「Webアクセシビリティ ~標準準拠でアクセシブルなサイトを構築/管理するための考え方と実践~」 第1章
プロジェクト/lightwindowをアクセシブルにしよう
プロジェクト/lightwindowをアクセシブルにしよう/lightwindow2.0とは?
プロジェクト/lightwindowをアクセシブルにしよう/lightwindowの課題
ヘルプ
機能テスト/1/1
議事録/template
近藤
計画
志田
実践アクセシビリティ
実践アクセシビリティ/JIS X 8341-3 2009を試験してみてわかった制作上の問題点
整形ルール
竹村
中野
日本語
** 目次 [#a9f15980] #contents
タイムスタンプを変更しない
** 目次 [#a9f15980] #contents ** はじめに [#m73e1f24] こんにちは。[[竹村]]です。 JavaScriptのライブラリである jQuery のユーザーインターフェイス関連を 実装している『jQuery UI』がWAI-ARIAに対応しつつある。ということを 下記の記事で知り、どのように実装されているかを確認してみました。 - WAI-ARIA Implementation in JavaScript UI Libraries - updated http://www.paciellogroup.com/blog/?p=313 今回は、jQuery UI の dialog ウィジェットのWAI-ARIAの実装を確認します。 *** 簡単なWAI-ARIAの説明 [#m135928c] まず、WAI-ARIAについては、下記を確認ください。 - WAI-ARIA導入(日本語訳) http://d.hatena.ne.jp/aratako0/20090709/p1 - 第1回:FF3、IE8が対応!これがWAI-ARIA http://www.thinkit.co.jp/article/133/1/ ザックリ説明すると、AjaxやDHTMLなどで動的に変化するコンテンツで、 コンテンツが変化したことをスクリーンリーダーなどの支援技術に伝える ために、HTMLを拡張した仕様です。 ** 準備 [#rd0602c4] 支援技術側がWAI-ARIAに対応していなければ利用できません。 今回は、ブラウザにFirefox、スクリーンリーダーにJAWS 10を使用します。 #blikimore - Firefox http://mozilla.jp/firefox/ - JAWS 10(無料トライアル版) http://www.freedomscientific.com/downloads/demo/FS-demo-downloads.asp - JAWSの設定 -- options - Voices - Global Adjustment... -- Profile Name: SAPI 5 に変更 -- Voice Rate: 18 に変更、Person: LH Naoko - Japan に変更、Pitch: 17 に変更 ** 動作検証 [#o257ba79] *** WAI-ARIA対応済みバージョンを試す [#gf5e0a9f] まずは、dialogの機能の紹介と、それがどのように読まれるかを確認します。 http://okra.ark-web.jp/~takemura/public/js/wai-aria/jquery_dialog/ #ref(jquery_ui_dialog_sample.jpg,nolink) JAWSを起動した状態で、Firefoxから上記URLにアクセスします。 [Open Dialog]のリンクまで「↓キー」で移動して、''「link Open Dialog」''という読み上げに対して「エンターキー」を押すと、ダイアログが表示されます。 ダイアログ表示の際は、''「ダイアログのタイトル dialog ... OK put on」''と読み上げられます。 「↓キー」でコントロールを移動していくと、''OK,Cancel,[×]ボタンが音声で反応しています。'' - ちなみに、IE8で読み上げさせてみると、ダイアログ表示の際に「OK put on」とだけしか読み上げられませんでした。 *** 旧バージョンではどうだったか? [#b348169c] WAI-ARIAが対応されたjQuery UIは、1.7.1からなので、1.6バージョンはどうだったかを見てみます。 http://okra.ark-web.jp/~takemura/public/js/wai-aria/jquery_dialog/index_1.6.html [Open Dialog]のリンクまで移動「↓キー」で移動して、「link Open Dialog」という読み上げに対して「エンターキー」を押すと、ダイアログが表示されます。 ダイアログ表示の際は、「Close put on」とだけ読み上げられます。 「↓キー」でコントロールを移動していくと、OK,Cancel,[×]ボタンが音声で反応しています。 この辺は変わらないようですね。 ** jQueryのdialogウィジェットの使い方 [#z23bf6e3] 簡単に jQuery UI の dialog ウィジェットの使い方を説明します。 <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script> <script type="text/javascript"> $(function(){ // Dialog $('#dialog').dialog({ autoOpen: false, width: 600, buttons: { "Ok": function() { $(this).dialog("close"); }, "Cancel": function() { $(this).dialog("close"); } } }); // Dialog Link $('#dialog_link').click(function(){ $('#dialog').dialog('open'); return false; }); (略) }); </script> (略) <h2>Dialog</h2> <p><a href="#" id="dialog_link" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-newwin"></span>Open Dialog</a></p> <!-- ui-dialog --> <div id="dialog" title="ダイアログのタイトル"> <p>ダイアログの内容です。</p> </div> - JavaScript内のコード、''$('#dialog').dialog'' で、<div id="dialog" ...>がダイアログであると指定しています - $('#dialog').dialog のオプションについては、下記参照。 -- 参考:http://docs.jquery.com/UI/Dialog#options - ''$('#dialog_link').click''で、<a href="#" id="dialog_link" ...>のクリックで、ダイアログを開くように指示しています - ダイアログのタイトルは、''<div id="dialog" title="ダイアログのタイトル">'' のように、title属性に書いておいたものが表示されます - ダイアログの内容は、上記 div タグ内の内容が表示されます ** ソースコード検証 [#b7f695aa] ダイアログを表示させた時の、ソースを確認してみます。 Firefoxの場合、ダイアログが表示されている状態で、Ctrl+a で全体を選択して、右クリック「選択した部分のソースを表示 (E)」で表示されます。 <div aria-labelledby="ui-dialog-title-dialog" role="dialog" tabindex="-1" class="ui-dialog ui-widget ui-widget-content ui-corner-all" style="overflow: hidden; display: block; position: absolute; z-index: 1001; outline-color: -moz-use-text-color; outline-style: none; outline-width: 0px; height: auto; width: 600px; top: 298px; left: 328.5px;"> <div style="-moz-user-select: none;" unselectable="on" class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"> <span style="-moz-user-select: none;" unselectable="on" id="ui-dialog-title-dialog" class="ui-dialog-title">ダイアログのタイトル</span> <a style="-moz-user-select: none;" unselectable="on" role="button" class="ui-dialog-titlebar-close ui-corner-all" href="#"> <span style="-moz-user-select: none;" unselectable="on" class="ui-icon ui-icon-closethick">close</span></a> </div> <div style="height: auto; min-height: 64px; width: auto;" class="ui-dialog-content ui-widget-content" id="dialog"> <p>ダイアログの内容です。</p> </div> <div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"> <button class="ui-state-default ui-corner-all" type="button">Ok</button> <button class="ui-state-default ui-corner-all" type="button">Cancel</button> </div> // Tips // ちなみに、しきりにでてくる「unselectable="on"」や「-moz-user-select: none;」はドラッグによる選択を防ぐ方法らしい。(参考:http://programming-magic.com/?id=112) // 実際に、ダイアログのタイトル文字はドラッグできないようになっている。 // dialogメソッドを実行する際にオプションとして「draggable: true (or false)」を渡せる。この場合はドラッグできるようになるかと思ったが、ドラッグできなかった… // ちょっとこの辺は不明。 *** role="dialog" の挙動について [#t6dc061a] <div aria-labelledby="ui-dialog-title-dialog" role="dialog" ...> role="dialog" とあるので、dialogというroleの仕様を確認します。 - Role: dialog http://www.hitachi.co.jp/universaldesign/wai-aria/ED_20080514/#dialog > ダイアログボックスは、タイトルを伴っているべきである。 > タイトルは、他のメカニズムが存在しなければ、labelledbyのプロパティから提供されることがある。 という仕様なので、div タグに aria-labelledby 属性が指定され、 ui-dialog-title-dialog と書かれています。 これは、下記のように id で書かれた部分をタイトルとして指定しています。 <span (略) id="ui-dialog-title-dialog" class="ui-dialog-title">ダイアログのタイトル</span> *** role="button" の挙動について [#pe476cb7] <a (略) role="button" (略) href="#"><span (略)>close</span></a> 閉じるボタンに、role="button"と書いてある。buttonの仕様を確認します。 - Role: button http://www.hitachi.co.jp/universaldesign/wai-aria/ED_20080514/#button > ボタンは、オプションのpressedのステート(state)をサポートする。(略) > ステート(state)が存在しなければ、そのボタンは単純なコマンドボタンである。 というわけで、これはコマンドボタンとして動作しているようですね。 OK, Cancelボタンについては、buttonタグを使っている。この違いはJAWSでは特に文言に違いが見られませんでした。 コマンドボタンと、buttonタグは同じ実装になっているのかもしれません… ** まとめ [#b60263a5] jQeury UI の dialog ウィジェットについては、少しアクセシブルになった程度ですが、 dialogとしてウィンドウが開いたことを利用者が認知できるようになったのは重要なことです。 また、我々Web制作者がアクセシビリティ上気をつけることとして、 利用するライブラリが WAI-ARIA などアクセシビリティに対応しているものを 選択して利用するようになれば、一定の水準を満たせるようになるのではないかと思います。 ** 付録 [#w674dcaf] 2009年10月2日追記 - 本件を JAWSではなく、NVDA(version 0.6p3.1j) でやってみました。 [#oc7d2542] ブラウザは Firefox http://okra.ark-web.jp/~takemura/public/js/wai-aria/jquery_dialog/ [Open Dialog]のリンクまで「↓キー」で移動して、「link Open Dialog」という読み上げに対して「エンターキー」を押すと、ダイアログが表示されます。 ダイアログ表示の際は、「OK ボタン」とだけ読み上げられます。 #blikifooter(竹村) tag: [[JavaScript>tag/JavaScript]], [[jQuery>tag/jQuery]], [[Ajax>tag/Ajax]]
テキスト整形のルールを表示する
アークウェブのサービスやソリューションはこちら
サービス
Webの企画・戦略立案
Webデザイン
Webシステム開発
Zen Cartソリューション
Zen Cart導入コンサルティング, RFP作成, トラブル診断
Zen Cartで大規模ECサイト構築
Zen Cartモジュールの開発・カスタマイズ
Zen Cart制作会社(デザイン・企画会社)様向けサービス
Zen Cart海外向け・多言語ECサイトの制作
Zen Cartのデザイン, ペルソナ/シナリオ法, RIA(Ajax・Flex)
Zen Cartのセキュリティ・運用保守サポート
Zen Cart企画・マーケティング戦略, SEO・SEM(サーチエンジン広告)
Zen Cartハイエンド版(大規模サイト用高可用バージョン)
EC-CUBEとZen Cart 機能比較表(概要)
Zen Cart携帯モジュール(モバイルショップ構築用)
Zen Cartの導入事例
Zen-Cart.JPのご紹介とアークウェブの取り組み
Zen-Cartモバイルショップ構築サービス
Movable Typeソリューション
企業サイトでのMovable Type活用
Movable Type用プラグイン一覧
MT用フォーム作成プラグイン「A-Form」
A-Formパートナー制度
その他ソリューション
AjaxでRIA開発
Ruby on Rails
Flexによる業務システム構築
ペルソナ/シナリオ法
ビジネスブログ
SNS・ソーシャルソフトウェア
SEO・SEM
アークウェブのCSR(企業の社会的責任)
アークウェブのCSR指針