Flutterをがっつり使ってみようと思う前に少し興味がありNativeScriptを触っていました。
XMLとJavaScriptでネイティブアプリが作れるということでサンプルコードをいじっていました。
また調べていく中でプラグインでスクリーンリーダー(AndroidではTalkBack、iOsではVoiceOver)を制御できる物があることを知りました。
アプリを動かす上で画面表示されている内容を読み上げるだけでなく、強制的にアナウンスをさせたい場面があります。
たとえば画面の遷移中や読み込み中て時間がかかっているときなどはその旨のアナウンスがあるとユーザは状況がわかり安心します。
なのでこのプラグインにも魅力を感じていました。
(Flutterにもいくつか同様のライブラリはあるようです)
ですが、以下の問題がありNativeScriptの使用を止めることにしました。
私の学習が足りなかったところもあると思いますが、記録として残しておきます。
ボタンに対するテキストラベルの問題
ただのアイコンや画像のボタンではそれがとのような働きをするのかスクリーンリーダーではわかりません。
そのためHTMLのalt属性のようにテキストラベルを付加します。
しかしこれが反映しないボタンやラベルとボタンが分離してしまう物がありました。
タップ動作の付確実さ
サンプルコードで確認しただけなので確実ではありませんが、
TalkBackを有効にした上で
リストのアイテムをタップして項目を表示することができませんでした。
NativeScriptは問題ありませんでしたが、AngularとTypeScriptでこの現象を確認しました。
スクリーンリーダープラグインが動作しなかった
表題の通りです。
開発は続いているようでしたのでフィードバックはしてあります。
Accessibility | NativeScript Marketplace