こんにちは!2015年3月25日(水)にAccSellメール・マガジン第62号を発行しました!
- [連載]中根雅文の「全盲のコンピューター利用に関する四方山話」
- 第61回: JAWS for WindowsのVirtual PC Cursor
- [連載]植木 真の「こんなブログ記事見つけました!」
- 第20回: Accessibility APIs: A Key To Web Accessibility
BAの太田さんと伊原さんが監訳された「コーディングWebアクセシビリティ」という本では、実は中根も協力で参加していたことは内緒だよ!(巻末に名前が載ってるから内緒じゃないよ)
[連載]植木 真の「こんなブログ記事見つけました!」
第20回: Accessibility APIs: A Key To Web Accessibility「マシンリーダブル」を理解するには「Accessibility API」
さて、以前から噂(?)になっていた書籍がいよいよ発売になりましたね。そうです、「コーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション」です。
AccSellのポッドキャストにもゲスト出演していただいたことのある、株式会社ビジネス・アーキテクツの伊原さんと太田さんが監修されました。お二人は、これに続いて「デザイニングWebアクセシビリティ - アクセシブルな設計とコンテンツのための実践アプローチ」という書籍を執筆していて、来月末に発売開始予定だとか。
で、その「コーディングWebアクセシビリティ」の書籍では、WAI-ARIAの基本的な考え方について、分かりやすく解説されています。WAI-ARIAの一つの大きな目的は、やはりコンテンツを「マシンリーダブル」にすることです。HTML標準の要素では実現できないアプリケーション風なインタフェース要素を、見た目だけではなく、ユーザーエージェントが解釈できるようにすることを可能にする仕様と言ってもよいかもしれません。
「マシンリーダブル」にするという話をする場合に、ぜひ押さえておきたいのが「アクセシビリティAPI」とよばれるものです。これについて、分かりやすく紹介しているブログ記事を見つけたので、今回はそれをご紹介します。
原文は英語なので、ざっくりした日本語訳をしながら、一緒に読み進めていこうと思います。
Reading The Screen
To understand the role of an accessibility API in making Web applications accessible, it helps to know a bit about how assistive technologies provide access to applications and how that has evolved over time.
ざっくり日本語訳:
Webアプリケーションをアクセシブルにする上で、アクセシビリティAPIが果たす役割を理解するためには、支援技術がどのようにアプリケーションへのアクセスを提供しているか、それがどのように進化してきたかについて、少し知っておくとよい。
というふうに始まる記事ですが、スペースの都合もありますので、ここでは前半部分は完全にスルーしたいと思います(笑) といっても、この前半部分もぜひ一度は目を通しておいていただきたい内容です。
From The Web To The Accessibility API
そういうわけで、一気にこの見出しまでワープします。
In browsers, the platform accessibility API is used both to make information about the browser itself available to assistive technologies and to expose information about the currently rendered content.
ざっくり日本語訳:
ブラウザでは、プラットフォームのアクセシビリティAPIを用いて、ブラウザ自体に関する情報を支援技術に提供したり、レンダリングしたコンテンツに関する情報を支援技術に提供したりしている。
後半部分は、まず「アクセシビリティAPI」とは何ぞや、という話から始まります。アクセシビリティAPIにもOSごとにいろいろあって、MSAA、IAccessible、IAccessible2、UIAExpress、NSAccessibility、UIAccessibilityなどが挙げられています。
The browser uses the HTML DOM, along with further information derived from CSS, to generate an accessibility tree hierarchy of the content it is displaying, and it passes that information to the platform accessibility API. Information such as the role, name and state of each object in the content, as well as how it relates to other objects in the content, can then be queried by assistive technologies.
ざっくり日本語訳:
ブラウザは、HTMLやDOM、それにCSSから得られる情報を用いて、表示しているコンテンツのアクセシビリティ・ツリーと呼ばれる階層を生成し、その情報をプラットフォームのアクセシビリティAPIに引き渡している。コンテンツにある各オブジェクトのrole、name、stateといった情報は、コンテンツ内の他のオブジェクトとどのような関係性があるかというのとあわせて、支援技術が問い合わせることが可能である。
はい、ここで "role"、"name"、そして "state" という用語が出てきました。コンテンツの一体何を「マシンリーダブル」にすればよいのか。それを考えるにあたっては、この3つが重要です。日本語にするなら、「役割」、「名前」そして「状態」でしょうか。 この "role"、"name"、"state" について、次のような簡単なHTMLソースを例に挙げて分かりやすく説明しています。
つづきはメルマガで……。