写真 青い空と雲と建物と木々の緑

nishimotzの日記

  • オープンソースソフトウェアとWebアクセシビリティ

    上記に関連して、次回WIT研究会/HI学会研究会の企画として、ITRC UAI(Universal Access to the Internet)研究会と共催の特別企画を行います。

    • テーマ:オープンソースソフトウェアとWebアクセシビリティ
    • 共催:ITRC UAI(Universal Access to the Internet・高齢者と障害者のインターネット利用)研究会
    • 司会:西本卓也(東京大学・WIT企画幹事)
    • 特別企画の日時:2008年12月4日(木) 15:15~17:15
    • 会場:産総研臨海副都心センター別館バイオ・IT融合研究棟11階会議室

    登壇者(敬称略):

    • 渡辺隆行(東京女子大学・UAI研究会 主査)
    • 中村精親・辻勝利(ミツエーリンクス)
    • 西本卓也(東京大学)
    • 福田健太郎 (日本IBM)

    概要:World Wide Webはユニバーサルなメディアとして設計されており、例えば視覚障害者は合成音声によってWebを利用することができるが、現実には高齢者や障害者にとって使いにくいWebサイトがたくさんある。そこでWebコンテンツのアクセシビリティに関する標準化活動が行われており、海外では W3C WCAG 2.0 の策定が完了間近になっており、これを受けて日本でも JIS X 8341-3 の改訂作業が進められている。 Webアクセシビリティの新たな標準が受け入れられるために必要なのは、 Webコンテンツの新しい標準技術を生かすことができる支援技術である。

    本特別企画はまずWebアクセシビリティ標準化活動の現状を概説し、続いてWebアクセシビリティを実現する高性能なツールになりうる以下のオープンソースソフトウェアを実演を交えて紹介する。

    • スクリーンリーダー NVDA 日本語化プロジェクト
    • 音声対話ツールキット Galatea プロジェクト
    • アクセシビリティソフトウェア基盤 Eclipse Accessibility Tools Framework (ACTF)

    最後にパネルディスカッションを行い、Webアクセシビリティ関連のオープンソースプロジェクトの展望や今後の課題について議論したい。支援技術ユーザ、研究者、ソフトウェア開発者など幅広い聴衆の参加を期待する。

  • 音声インタフェースとWebアクセシビリティ

    先日、下記の発表をしました。

    この予稿の中で紹介した「インタフェースの原則」は、私の研究の中核になる概念です。今回これを吟味していて、

    • III 頑健性に関する原則
      • c. 探索可能性の原則 : あるコマンド操作とその実行結果の対応付けを容易に学習できるために、あらゆる操作は可能なかぎり取り消し可能とする。

    という項目の追加が必要だと思えてきました。

    これまでWebアクセシビリティにおいて undo 機能の重要性を確認する実験を行ってきました。現在は Ruby on Rails による VoiceXML アプリケーションフレームワークと Galatea Dialog Studio の実装に、どのように undo の機能を組み込むかを検討しています。

  • Ubuntu Linux 8.10 + freeglut3 + FreeType2

    GLUT で日本語を表示するのは面倒だと思っていましたが、意外に簡単でした。
    とはいえ、例によって単純なコピーペーストでは成功しなかったので、メモしておきます。

    // main.cpp
    // encoding : UTF-8
    //
    // sudo apt-get install libftgl-dev freeglut3-dev
    // g++ -g -I/usr/include/freetype2 -lglut -lftgl main.cpp
    //
    #include <GL/glut.h>
    #include <FTGL/ftgl.h>
    #define FONT "/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf"
    FTFont *font;
    void display(void)
    {
    glClearColor(0.0, 0.0, 1.0, 1.0);
    glClear(GL_COLOR_BUFFER_BIT);
    glClearColor(1.0, 1.0, 1.0, 1.0);
    FTPoint point(-1, 0, 0);
    font->Render("日本", -1, point);
    glFlush();
    }
    int main(int argc, char *argv[])
    {
    font = new FTGLPolygonFont(FONT);
    if (font->Error()) exit(1);
    font->FaceSize(0);
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA);
    glutCreateWindow(argv[0]);
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
    }