Button
Alexa Buttonレスポンシブ対応コンポーネント(AlexaButton)は、ユーザーがタッチパネルやコントローラーで選択できるボタンを表示します。ボタンに表示されるテキスト、ボタンの外観、ボタンを選択したときに実行されるコマンドを設定できます。
互換性
AlexaButtonは、alexa-viewport-profilesパッケージのすべての標準Viewportプロファイルで動作するように設計されています。次のプロファイルに対応しています。
- すべての円形デバイスプロファイル
- すべての横長デバイスプロファイル
- すべての縦長デバイスプロファイル
- すべてのモバイルプロファイル
- すべてのテレビプロファイル
サポートされていないViewportでAlexaButtonを使用すると、予期しない結果になることがあります。Viewportプロファイルの詳細については、Viewportプロファイルを参照してください。
alexa-layoutsパッケージをインポートする
AlexaButtonを使用するには、alexa-layoutsパッケージをインポートします。
alexa-layoutsパッケージの最新バージョンは1.7.0です。AlexaButtonはバージョン1.1.0で導入されました。
AlexaButtonのパラメーター
type以外のパラメーターはすべてオプションです。
| 名前 | 型 | デフォルト | 説明 | ウィジェットのサポート | 追加されたバージョン |
|---|---|---|---|---|---|
|
|
文字列 |
|
ボタンを説明する文字列です。ユーザーがボタンを押したときに、この文字列が読み上げられます。 |
サポートされません |
1.1.0 |
|
|
文字列 |
— |
|
サポートされません |
1.6.0 |
|
|
文字列 |
— |
ボタンに表示するカスタムAVGアイコンの名前です。指定するAVGは、ドキュメント内またはインポートされたパッケージ内で定義されている必要があります。 |
サポートされません |
1.6.0 |
|
|
文字列 |
— |
|
サポートされません |
1.6.0 |
|
|
文字列 |
|
ボタンのスタイルです。設定できる値は、 |
サポートされません |
1.2.0 |
|
|
文字列 |
— |
ボタンに表示されるテキストです。ボタンの目的を示します。 |
サポートされません |
1.1.0 |
|
|
配列 |
— |
このコンポーネントにバインドするentityデータの配列です。 |
サポートされません |
1.2.0 |
|
|
文字列 |
|
ボタンに表示されるテキストの言語です。この言語によって、ボタンに使用されるデフォルトのフォントと書式が決まります。たとえば、 |
サポートされません |
1.4.0 |
|
|
文字列 |
|
ボタンのレイアウト方向を指定します。このプロパティは、 |
サポートされません |
1.4.0 |
|
|
— |
ユーザーがボタンを選択したときに実行されるアクションです。 |
サポートされません |
1.1.0 | |
|
|
文字列 |
|
色のテーマをダークまたはライトに設定します。テーマを選択することでコンポーネントの色を制御します。 |
サポートされません |
1.1.0 |
|
|
ブール値 |
|
|
サポートされません |
1.2.0 |
|
|
文字列 |
— |
常に |
サポートされません |
1.1.0 |
アクセシビリティ
AlexaButtonコンポーネントは、ボタンとして構成されたタッチ可能なコンポーネントです。VoiceViewスクリーンリーダーが有効になっているデバイスでは、ユーザーはコンポーネントをタップして選択し、画面をダブルタップしてボタンをアクティブにすることができます。
スクリーンリーダーは、accessibilityLabel文字列を読み上げてAlexaButtonコンポーネントを説明します。accessibilityLabelは、デフォルトでbuttonTextプロパティの値になります。buttonTextを設定せずにアイコンのみのボタンを作成する場合は、必ずaccessibilityLabelプロパティにボタンの目的を説明する文字列を設定してください。
アクセシビリティとAPLの詳細については、APLアクセシビリティガイドを参照してください。
ボタンの外観
ボタンの外観は、buttonStyleプロパティとtouchForwardプロパティを使用して設定します。指定されたスタイルによって、Alexaの視覚要素デザイン全体で一貫した外観が適用されます。
buttonStyle
ボタンのスタイルを設定するには、buttonStyleプロパティを次のいずれかの値に設定します。
contained- このスタイルは、ユーザーに実行させるメインアクションに使用します。このスタイルを適用すると、ボタンが半透明の背景色で塗りつぶされます。outlined- このスタイルは、第2アクションに使用します。このスタイルを適用すると、ボタンの枠線が単色で描画されますが、本体は透明になります。ingress- このスタイルは、「確認」、「はい」、「次へ」などのアクションに使用します。このスタイルでは、containedと同様に単色が使用されますが、色スキーマは異なります。egress- このスタイルは、「拒否」、「いいえ」、「戻る」などのアクションに使用します。このスタイルは枠線を表示しますが、本体は透明です。borderless- このスタイルは、通常の状態では輪郭も色もないボタンを表示します。pressedやfocusedの状態になると、ボタンの輪郭が表示されます。
touchForward
touchForwardオプションを使用すると、ユーザーにどのようなボタン操作を想定するかに応じて、ボタンのフォントスタイルを設定できます。
- 音声対話によるボタン操作を想定する場合は、
touchForwardをfalseに設定します。この設定がデフォルトです。ユーザーが音声でボタンを選択できるように対話モデルを設計してください。- タッチだけでなく音声でもボタンをトリガーできることをユーザーに伝えるために、ボタンのテキストは「音声対応」スタイルで表示されます。
- デフォルトの音声対応スタイルでは、テキストは斜体フォントで表示されます。
- 言語固有のフォントによっては、斜体のテキストがサポートされない場合があります。このような言語では、ボタンテキストはプレーンテキストで表示されます。言語固有のフォントを使用するには、
langプロパティに言語またはロケール文字列を設定します。たとえば、langプロパティがarまたはar-SA(アラビア語)の場合、ボタンテキストは斜体ではなくプレーンテキストで表示されます(APL 1.7およびalexa-layouts1.4.0以降)。
- 音声ではなく主にタッチによるボタン操作を想定する場合は、
touchForwardをtrueに設定します。- ボタンのテキストは「タッチ前提」スタイルで表示され、ボタンが「音声対応」でないことを示します。
- デフォルトのタッチ前提スタイルでは、テキストが斜体ではなくプレーンテキストで表示されます。
- 斜体がサポートされない言語の場合は、音声対応スタイルと区別するために、ボタンテキストが自動的に引用符で囲まれます。たとえば、
langプロパティがarまたはar-SA(アラビア語)の場合、ボタンテキストは引用符で囲まれます(APL 1.7およびalexa-layouts1.4.0以降)。
buttonStyleオプションとtouchForwardオプションの例については、AlexaButtonの例を参照してください。
ボタンのアイコン
AlexaButtonにはアイコンを表示できます。表示するアイコンはAlexa Vector Graphic(AVG)であることが必要です。Amazonから提供されるアイコンライブラリのアイコンを使用することも、独自のアイコンを使用することもできます。
AlexaButtonにアイコンを表示するには、alexa-layouts 1.6.0以降を使用する必要があります。アイコンとbuttonTextの両方を指定すると、テキストの前にアイコンが表示されます。アイコンを指定してbuttonTextを指定しない場合、ボタンは小さくなり、テキストの代わりにアイコンが表示されます。buttonTextを指定しない場合は、必ずaccessibilityLabelプロパティにボタンの目的を説明する文字列を設定してください。
アイコンライブラリのアイコンを使用する
Alexaアイコンパッケージ(alexa-icon)は、AVG形式で定義されたアイコンのセットを提供します。使用可能なアイコンの一覧については、Alexaアイコンライブラリリファレンスを参照してください。ライブラリからアイコンを表示するには、パッケージをインポートし、buttonIconNameにアイコンの名前を設定する必要があります。
アイコンライブラリからアイコンを表示するには
alexa-iconとalexa-layoutsの両方のパッケージをインポートします。{ "import": [ { "name": "alexa-layouts", "version": "1.7.0" }, { "name": "alexa-icon", "version": "1.0.0" } ] }- ドキュメントに
AlexaButtonを追加し、buttonIconNameにアイコンの名前を設定します。Alexaアイコンライブラリリファレンスに示されている名前を正確に入力してください。{ "type": "AlexaButton", "buttonText": "このボタンにはカレンダーアイコンが表示されます", "buttonIconName": "ic_calendar" }
次の例では、ボタンが並んだ行を2つ表示します。一方の行のボタンにはbuttonTextとbuttonIconNameを設定し、もう一方にはbuttonIconNameだけを設定します。2行目では、AlexaButtonコンポーネントにaccessibilityLabelを設定します。どちらの例でも、アイコン名とボタンテキストはデータソースから取得されます。
カスタムアイコンを使用する
カスタムアイコンを表示するには、buttonIconSourceプロパティに表示するAVGの名前を設定します。グラフィックは、ドキュメント内または外部パッケージで定義できます。
次の例では、カスタムアイコンのあるAlexaButtonを2つ表示します。
AlexaButtonの例
次の例では、buttonStyleの5つのオプションとtouchForwardの2つの設定を示すボタンを表示します。ユーザーがボタンを選択すると、ボタンはSetValueコマンドを実行してTextコンポーネント内のメッセージを更新します。
次の例では、langをar-saに設定し、layoutDirectionをRTLに設定して、同じ5つのボタンスタイルを表示します。
関連トピック
最終更新日: 2025 年 09 月 30 日