ソフト名 95Reader for Windows95 発売元 システムソリューションセンターとちぎ TEL 0286-80-2000 定価 34800円 紹介URL http://www.ssct.co.jp/95reader/ ソフト名 PC-Talker 発売元 高知システム開発 TEL 0888-73-6500 定価 38000円 PC-Talker試用記 ソフト名 VDM-100W/PC-Talker 発売元 アクセス・テクノロジー TEL0761-20-1144 定価 38000円 これはPC-TalkerのOEMだそうですが、操作性は全く違うそうです。などがあります。 これらは全て、WAVEファイルの再生ができるマシンなら動作するはずです。
読み上げソフトを入手してテストまでするのは、仕事でもないかぎり金銭的にも困難だと思いますが、 具体的な方策としては、オーナードローのボタンなど、絵として表現される物には、 必ず文字列による名前をつけるなどがあります。(SetWindowText()等)
あと、「特殊なことをしない」というのも重要です。たとえば、Petzoldの本に、 メニューをビットマップで表示するというのがありますが、こんなことをされても 迷惑なだけです。文字列で表示していても、オーソドックスなやり方とは違うやり方で 表示されると、読み上げソフトが認識できないことがあるようです。
ペーパーマニュアル付きのソフトの場合、 その内容をすべて電子情報としても読めるようにすることも重要だと思います。 また、図などを使って分かりやすく説明するのは良いことですが、図に頼りすぎずに、 文章だけでも、ある程度の意味が分かるように書くことも必要でしょう。
以下は、私のWAVRECの void resize(void) のコードの一部です。 システムフォントとメニューorタイトルバーのフォントのサイズを比較して、 1.5倍以上ならクライアント領域を2倍に拡大するためscaleという変数に値をセットしています。
NONCLIENTMETRICS metrics;
TEXTMETRIC tm;
HDC hdc;
int h=0,s;
metrics.cbSize=sizeof(metrics);
if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS,sizeof(metrics),&metrics,0))
h=MAX(-metrics.lfMenuFont.lfHeight,-metrics.lfCaptionFont.lfHeight);
hdc=GetDC(hwndApp);
GetTextMetrics(hdc,&tm);
s=tm.tmAscent;
ReleaseDC(hwndApp, hdc);
if (h>=s*3/2){
scale=2;
}else{
scale=1;
}
GetSystemMetrics()等で、システムのボタンのサイズ等を取得して、
クライアント領域のボタンサイズをこれに合わせるという方法もあると思います。
私のBMP2MONOでは、
scrollberheight=GetSystemMetrics(SM_CXHSCROLL);
のようにしてシステムのスクロールバーのサイズを求め、これをもとに、
ボタンサイズ等を決めています。「アクセシビリティガイドライン」等を 読んで、こういう発想が出てくるかどうかが、大事だと思います。