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-layouts
1.4.0以降)。
- 音声ではなく主にタッチによるボタン操作を想定する場合は、
touchForward
をtrue
に設定します。- ボタンのテキストは「タッチ前提」スタイルで表示され、ボタンが「音声対応」でないことを示します。
- デフォルトのタッチ前提スタイルでは、テキストが斜体ではなくプレーンテキストで表示されます。
- 斜体がサポートされない言語の場合は、音声対応スタイルと区別するために、ボタンテキストが自動的に引用符で囲まれます。たとえば、
lang
プロパティがar
またはar-SA
(アラビア語)の場合、ボタンテキストは引用符で囲まれます(APL 1.7およびalexa-layouts
1.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 日