Ploneを用いたWebアクセシビリティの実現

原田 保, 山本 真也

株式会社NTTデータ

ITのユニバーサルデザイン

ITが使えると・・・
今までできなかったことができるようになります

今までできなかったこと

車椅子では、書店の高い棚の本に手が届きません

書店で車椅子から高い棚の本に手を伸ばしても届かないイメージ

ITが使えるようになると

ウェブ上で見たかった本が検索できる
自宅でPCに向かい見たかった本を検索しているイメージ

オンラインショップでその本を購入できる
自宅でPCに向かいオンラインショップで本を購入しているイメージ

できなかったことが、できるようになります

今まで一人でできなかったことが沢山できそうだ!

帰宅するとポストにオンラインショップで購入した本が入っているイメージ

ITをユニバーサルデザインに

便利なサービスは、みんな使いたい

社会には、お年寄り、子供、車椅子、目に障害を持つ方、など様々な人達がいるイメージ

NTTデータが考えるUD

『誰でも使いやすく、使えるように配慮したシステム開発』

アクセシビリティというアプローチを示すイメージ ユニバーサルデザインを示すイメージ ユーザビリティというアプローチを示すイメージ

Ploneによるアクセシビリティの実現

弊社の適用事例をご紹介します

事例紹介「稲城市立図書館ホームページ」

Ploneを採用し高レベルなUDを実現

稲城市立図書館ホームページにおけるトップページのイメージ

稲城市立中央図書館

2006年7月1日オープン

UDに関するお客様のご要望

CMSとは何か

コンテンツを自動的に作成/管理/配信するためのシステム

コンテンツ入力、テンプレート登録、承認、そして公開というCMSを説明するイメージ

CMSの導入状況

地方公共団体の約3分の1、
都道府県の約3分の2がCMSを導入済み

総務省が2005年に公開した公共分野におけるアクセシビリティの確保に関する研究会報告書より引用のCMS導入率グラフ

CMSとアクセシビリティ<有効性>

CMSの有効性

CMSで管理するテンプレートをアクセシブルにしておけば、
専門的なスキルを持たない者がコンテンツを追加しても、
アクセシビリティを維持できる。

二つの都市伝説

「(我々の)CMSだから大丈夫」
「CMSだから駄目」

「CMSを導入すれば、アクセシビリティまで対応できる」って、本当ですか?について問いかけるイメージ

CMSとアクセシビリティ<問題点>

CMSの問題点

「Plone」を採用した理由(1/2)

世界中で多くの採用実績があり信頼性が高い

「Plone」を採用した理由(2/2)

オープンソースであること

構築メンバーの中にPloneの経験者がいた

動的コンテンツ(Webアプリケーション)に関する要件

見栄えに関してニュートラルである

Ploneのデフォルトの見栄え

Ploneのデフォルトにおけるトップページのイメージ

Ploneのカスタマイズ後の見栄え

Ploneをカスタマイスした稲城市立図書館トップページのイメージ

コンテンツ制作の段取り

各種規約類の準備
  • アクセシビリティ対応項目リスト
  • UI標準仕様書
  • コーディング規約(HTML、CSS)
規約に従ったコンテンツの制作
制作中は、Another HTML-lint等のチェックツールで、随時、アクセシビリティの簡易診断を実施
社内アクセシビリティ診断の実施
ウェブアクセシビリティJIS規格に準拠したNTTデータのアクセシビリティ・ガイドラインのチェックポイントに基づき詳細に診断

段取りのポイント

まず始めに、CMSに投入するコンテンツ一式を制作

それらのアクセシビリティを十分に確保しCMSへ投入

発生した(アクセシビリティに関する)問題が、コンテンツそのものにあるのか、それともCMS(Plone)にあるのか、の切り分けを容易にする為

NTTデータ・アクセシビリティ・ガイドライン

NTTデータ・アクセシビリティ・ガイドライン表紙のイメージアクセシビリティの高いウェブシステムを開発するための考え方、HTML/CSSの記述ルールをまとめたものである。当ガイドラインは、弊社の開発標準「TERASOLUNA」へ組み込まれている。

CMSの設計

コンテンツ・タイプの決定

ワークフローの策定

基盤の設計

CMSへのコンテンツ投入

実際にCMSへ投入してみると、
アクセシビリティに関する幾つかの問題が判明した。

それらの問題に対処する為、
CMSに幾つもの修正を施した。

CMSのカスタマイズ(その1)

日付の表示形式の変更

カスタマイス前の日付表記がスラシュの画面イメージ カスタマイス後の日付表記を年月日とした画面イメージ

CMSのカスタマイズ(その2)

ブログのエントリの見出しレベルの調整

カスタマイス前の見出し要素がh2から設定される画面イメージ カスタマイス後の見出し要素がh1から設定される画面イメージ

CMSのカスタマイズ(その3)

画像投入の際に、音声読み上げソフトに対応する為の画像代替テキスト(alt属性)を設定できるように修正

カスタマイス前の画像代替テキスト(alt属性)が設定できない画面イメージ カスタマイス後の画像代替テキスト(alt属性)が設定できる画面イメージ

COREBlog2のカスタマイズ

コメント確認ページのボタンの表記と配置の変更

カスタマイス前と後のボタン比較イメージ

入力必須であることの示し方の変更

カスタマイス前と後の入力必須に関する表記の比較イメージ

PloneHelpCenterのカスタマイズ

「よくあるご質問」の実現にPloneHelpCenterを使用

PloneHelpCenterのスキンをカスタマイズして、
文書構造を改善

質問内容を見出し要素にすることで、(音声ブラウザの「見出し読みモード」による)質問群の俯瞰が容易になる。

デフォルト


<div class="documentDescription">質問内容</div>
<div>回答</div>

カスタマイズ後


<h2 class="question">【質問】 質問内容</h2>
<div class="answer"><strong>【答え】</strong> 回答内容</div>

新聞・雑誌一覧の音声読み上げ対応(1/2)

新聞・雑誌一覧の概要

新聞・雑誌一覧表のイメージ

新聞・雑誌一覧の音声読み上げ対応(2/2)

記号の音声読み上げ対応

XHTML


○<span class="nosize">あり</span>
-<span class="nosize">なし</span>

CSS


.nosize { position: absolute;
    width: 0px; height: 0px; overflow: hidden;}

サイト内検索のヘルプ対応

使う前に使い方を知れるようにする

本来は、ページ上部にある検索ボックスの近くに(サイト内検索の使い方に関する)ヘルプへのナビゲーションがあるべき。

何か追加するスペースの余裕が無いページ上部ヘッダーのイメージ

今回は、ページの面積に余裕がなかった為、検索結果のページに(ヘルプへの)リンクを追加することで対応。

対応の前と後の検索のヘルプを比較したイメージ

その他のカスタマイズ

画像の幅と高さのきめ細かい指定

Ploneのデフォルトでアイコンの画像サイズが指定されていないイメージ

すべてのalt属性の値の日本語化

サイト全体に渡る一貫性のあるページ・タイトルの付与

コンテンツ自体の工夫(1/4)

トップページのFlash


<object data="swf/top.swf" width="770" height="100"
 type="application/x-shockwave-flash">
          <param name="movie" value="swf/top.swf" />
代替⇒ <img src="img/swfdummy.gif" alt="稲城市立中央図書館へようこそ!"
       width="770" height="100" /><br />
稲城市立図書館のイメージをお伝えするために、
フラッシュムービーを配置しています。
ムービーをご覧になるためには、
フラッシュプレイヤー(無償)をダウンロードする必要があります。
</object>

コンテンツ自体の工夫(2/4)

Flashがインストールされていない環境

Flashがインストールされていないブラウザで静止画像と補足説明が表示されるイメージ

コンテンツ自体の工夫(3/4)

新しくウィンドウを開いてそこにリンク先を表示する場合の配慮

リンク先を新しいウィンドウを開くことを知らせるアイコンをおいたイメージ

<h3 class="title">(社)日本書籍出版協会</h3>
 <div class="cont">
  <a href="http://www.books.or.jp/" target="_blank" class="blank_link">
      <img src="http://www.library.inagi.tokyo.jp/img/blank.gif"
           alt="新しいウィンドウが開きます" height="17" width="17" />
      http://www.books.or.jp/</a>
  <p class="m1">国内で出版され入手可能な図書の検索ができます。</p>
 </div>

コンテンツ自体の工夫(4/4)

JavaScriptが動作しない環境への配慮

noscript要素を用いてメッセージを表示させる


<noscript>
<p>■ 稲城市立図書館ホームページでは、
 表示文字サイズの変更を行えるボタンと、
 現在表示しているページを印刷できるボタンを設置しています。
 それらの機能にJavaScriptを使用しているため、
 JavaScriptを無効とされている方は、
 その機能をご利用いただけないのでご了承ください</p>
</noscript>

公開後に判明した課題とその対策等 (1/4)

お客様によるブログ等の更新により、アクセシビリティ上好ましくない表記等が混入

管理マニュアルへアクセシビリティ配慮方法を追記し、お客様へご配慮をお願いした。

公開後に判明した課題とその対策等 (2/4)

アクセシビリティ配慮方法を追記した管理マニュアル

管理マニュアル上にアクセシビリティ配慮方法を追記したイメージ

公開後に判明した課題とその対策等 (3/4)

音声ブラウザの利用者からのご意見

全ページの冒頭で長い説明文が読み上げられる
トップページのみに説明文をおくように修正

音声ブラウザで読み上げるイメージ

公開後に判明した課題とその対策等 (4/4)

RSSフィードを閲覧しようとした場合、Internet Explorer 6では、XMLソースコードが表示される

XSLTを用いて普通のページのように表示できるようにした

RSSフィードをソースコードではなく普通のページのように表示できるようにしたイメージ

まとめ

CMSでアクセシビリティを実現するためのポイント

アクセシビリティに関するトータルな取り組みと配慮が必要!

終わり

ご清聴ありがとうございました。

NTTデータ