キャンバス アプリでのキャンバス キーボード ナビゲーションの改善 (実験段階)

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

重要

  • これは実験段階の機能です。
  • 実験段階の機能は運用環境での使用を想定しておらず、機能が制限されている場合があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。

コンテナやコンポーネント インスタンスなどのコントロールをネストしている場合、ユーザーが入力した TabIndex の値が尊重されない場合がありました。 改善されたキャンバス キーボード ナビゲーション の実験的な設定により、キーボードの タブ キーが押されたときに、目的のコンテナやコントロールに正確かつ予測可能にフォーカスできるよう、ナビゲーション体験が改善されます。

また、この機能により、キャンバス アプリの他のコントロールと同様に、キーボード タブのアクセシビリティに対応できるようになりました。 また、すべてのコントロールに手動で TabIndex を割り当てることにも対応しています。

注意

この機能は、下位互換性を維持し、既存のアプリの機能を維持する目的で、「実験段階」 として追加されています。

この機能をオンにすると、キャンバス アプリで選択したコンテナやコンポーネント インスタンスのすべての子コントロールに対して、以下のブール値のプロパティも有効になります。

プロパティ名 Description
子コントロールに優先度を設定する キーボードのタブ キーを押したときに、キャンバス上の子コントロールのナビゲーションの順序 (Z-オーダー) を決定します。
  • オン (既定): キーボードのタブ キーを押すと、選択されたコンテナやコンポーネントのインスタンスの外にフォーカスが移動する前に、まずすべての子コントロールに進みます。 このオプションは、同様にネストされた HTML 要素に推奨されます。
  • オフ: キーボードのタブ キーを押すと、すべてのコントロールが Z-オーダーにのみ進み、コントロール間の親子関係やキーボードナビゲーションのためのコンテナは無視されます。
注意: このプロパティは、レスポンシブ コンテナやオートレイアウト コンテナには適用されません。
子コントロールのフォーカスを有効化する キーボードのタブ キーを押したときに、キャンバス上の子コントロールの TabIndex の値を決定します。
  • オン (既定): タブ キーを押すと、各コントロールで定義された TabIndex の値に従って動作します。
  • オフ: タブ キーを押しても、選択したコンテナやコンポーネント インスタンス内の子コントロールにフォーカスが移動しません。 すべての子コントロールの TabIndex の値を -1 に設定します。

アプリでのキャンバス キーボード ナビゲーションの改善を構成する

まだ有効化されていない場合は、次の手順に従ってアプリでこの機能を有効にし、前述のプロパティを設定します。

  1. Power Apps にサインインします。

  2. 左側のウィンドウから、アプリ を選択します。

  3. アプリを選択し、編集 を選択します。

  4. Power Apps Studio で、設定 > 今後の機能 > 実験的 を選択します。

  5. 改善されたキャンバス キーボード ナビゲーション を選択して、機能をオンにします。

    キャンバスのキーボード移動を改善する設定

  6. 設定を閉じます。

実験的な機能を有効にすると、コントロールとコンテナに次の 2 つの新しいプロパティが表示:—子コントロールを優先する子コントロールのフォーカスを有効にする。 必要に応じてプロパティ値を変更します。

キャンバスのキーボード移動を改善するプロパティ

使用例

改良されたキャンバス キーボード ナビゲーションの新機能についての説明は以上です。続いて、いくつかの例を見て、タブ キーが押されたときの動作を見てみましょう。

既定の改善されたキャンバスのキーボードナビゲーション動作

以下の例では、複数のテキスト入力コントロールと、いくつかの入れ子のシナリオを示しています。 入力に表示される数字は、TabIndex プロパティの値を表しています。 2つのネストされたコンテナがあり、コンポーネント コントロールが重なっています。

既定の順序は、コントロールの相対的な位置によって決まります。 コンテナやコンポーネントにフォーカスされると、タブは最初にコンテナの子を走査してから、次に利用可能なコントロールに移動します。

アプリの既定の動作

子コントロールの優先順位付けがオフに設定されている場合

以下の例では、各コンテナおよびコンポーネント コントロールの 子コントロールを優先する プロパティが「オフ」に設定されています。 そのため、すべての入力は同じレベルの入れ子になっていると考えられ、順番は純粋に画面に対するX/Yの相対的な位置で決定されます。

子コントロールは優先しないでください

混合した設定による高度な設定

以下の例では、オレンジ色のアウトラインを持つコンテナの 子コントロールの優先順位設定 プロパティが 「オフ」 に設定されています。 他のすべてのコントロールでは、このプロパティが「オン」に設定されています。 また、いくつかの入力に対してカスタム TabIndex プロパティが設定されており、各入力に表示されている数字で示されています。

タブの順序は、TabIndex の値が 0 より大きいコンテナとコントロールを最初に通過し、次に値が0のその他のコンテナとコントロールを通過します。 この動作は、以前の実装から変わっていません。

混合した設定による高度な設定

関連情報