【Power Apps】アクセシビリティ対応:コンテナー機能について
先日投稿した、
【Power Apps】アクセシビリティ対応にするために
で少しだけ言及した「コンテナー機能」について、学んだことをシェアしたい。
コンテナー機能は試験段階
まず先に伝えておかないといけないのは、このコンテナー機能は試験段階だということ。「いつ機能停止するか分からないけど、使いたかったら使ってね」という前書きがある機能だ。
アプリ作成者としては、いつ機能停止するか分からないものは使うのを避けたい。けれど、アクセシビリティ対応をよりユーザー側(実際に読み上げソフトを使う障がい者)寄りにしたいと思えば、今のところ、このコンテナー機能に頼るしかない。
※あくまでも私が知っている範囲の話。
コンテナー機能の概要
シンプルに説明すると、コンテナー=枠。
その枠の中に入れた機能(ボタン・テキストラベルなど)をグループ化してくれる。すると、読み上げソフトが「左から右に、上から下に」の読み上げルールに従うことなく、グループ化された状態で読み上げてくれる。
この青い枠がコンテナー。コンテナー機能をクリックすると画面に出てくる。コンテナー機能はどこにあるかというと、
ツリービューから機能を探す場合は、挿入の「+」タブをクリック→「レイアウト」内にある。一番下の立方体が四角の中にあるアイコンだ。
上部のタブから探す場合は、「挿入」→「入力」→「コンテナー」
コンテナー機能使用/不使用の場合の音声読み上げ順序例
まずコンテナー機能を使わない場合。
Power Appsの音声読み上げルール「左から右、上から下」に従って、上の図のような順序で読み上げる。
本来であればドロップダウン1→ドロップダウン2→ドロップダウン3→送信ボタンと読み上げてほしいのに、上記のルールのせいで上手くいかない。
ビジュアル的にはドロップダウン3つ→送信ボタンとすぐに分かるので迷うことはないが、100%音声読み上げに頼っている人からすれば、ドロップダウン1の次が「追加情報を知りたい方は」と読み上げるので、「あれ、どうやって送信するの??」と疑問に思う。
肝心の送信ボタンは、なんと最後まで読み上げていかないと辿り着かないのだ。
次に、コンテナー機能を使った場合。
上の図のように、コンテナー枠でグループ化した機能ごとに読み上げてくれる。ただし、グループ化したものごとに読み上げるとはいえ「左から右、上から下」のルールは存在し続けるので、配置や順序には気を配る必要がある。
例えば、右側の「追加情報を~」のグループを、左側のアンケートグループより高く配置してしまうと、たとえ右側にあったとしても左側より位置が上なので先に読み上げてしまう。
ちなみに、コンテナー枠はあくまでも仮想の枠なので、アプリの編集画面でしか見ることはできない。
便利だなー。なぜ試験段階なんだ?
コンテナーの使い方
①まずコンテナーをクリックし、青い枠をスクリーンに挿入。
②コンテナーを選択した状態で、枠の中に入れたい機能(ボタンやラベルなど)を「挿入」から選んでクリック
③「挿入」から選んだ機能がちゃんとコンテナーの中に入っているか確認!
注意したいのは、枠の中に入れたい機能を挿入する前に、コンテナー(枠)が選択されていること。選択していない場合、枠の中に機能が挿入されず、スクリーン上の適当な位置に挿入されてしまう。
コンテナーを上手く使うために
Power Appsの音声読み上げ順序に従いつつ、思い通りに機能を配置していくのには限界もある。「こっちの機能を先に読み上げさせたいのに、左側に配置させているボタンが高い位置にあるばっかりにボタンを先に読み上げてしまう。チクショー!」なんてこともあるだろう。
それでも配置に妥協できない時、どうすればいいか?
実は、コンテナーの枠をわざと大きめに取って、仮想上だけ指定グループの位置を上にできるのだ!
枠は見えないから、枠だけ引き延ばしても外観には全く影響しない。でも枠の位置をちゃんと把握しているPower Appsは、枠の位置が高いグループから先に読んでくれる。
たとえば、上の図のウサギのアイコンが入った「サンプル店〇×支店」グループの枠を目一杯上に引き延ばした場合、「アンケート」グループより先に読み上げさせることもできるのだ。
これを知っていれば、配置はほぼ自由自在になる。
ちなみに、コンテナーの枠が重なっても問題ない(今のところ、私が作ったアプリの場合)。が、重なっている部分にドロップダウンやボタンを配置している場合、最上面にその機能を持ってきていないとクリックできないので注意。
以上、Power Appsのコンテナー機能の情報シェアでした。
業務上必要な機能しか勉強していないが、アプリ作成って面白いな~と感じる。コード無しでできているから、そう思うわけだが笑。
サポートは動画編集やメンタルヘルス関連の活動費にチャージします。 記事を読んで下さっているみなさん、いつもありがとう(*´ω`*)