Tooltip
吹き出しヒントです。fandhe-frontend-headless-ui の tooltip mod は Root / Trigger / Positioner / Content / Arrow / ArrowTip の 6 anatomy パーツを提供します。WAI-ARIA tooltip パターンに従い、trigger は aria-describedby で content(role="tooltip")と関連付けます。 aria-expanded/aria-controls は使用しません(Collapsible 等の disclosure 系との違い)。openDelay/closeDelay/interactive/ closeOnEscape はクライアントサイド実行時挙動としてスコープ外です。
スタイル済みの表示例は Tooltip を参照してください。
関連 API: fandhe-frontend-headless-ui API
Demo
枠線・余白は docs サイト側のデモ枠であり、fandhe-frontend-headless-ui 自体はスタイルを持ちません。
Additional context.
Features
- WAI-ARIA tooltip パターンに従い、trigger は aria-describedby で content(role="tooltip")と関連付ける。aria-expanded/aria-controls は使用しない(trigger 自体が展開可能なウィジェットではないため)。
- Root / Trigger / Positioner / Content / Arrow / ArrowTip の 6 anatomy パーツと、Disclosure を埋め込んだ開閉状態機械 Tooltip を提供する。
- openDelay/closeDelay/interactive/closeOnEscape はタイマー・ポインタ座標などクライアントサイド実行時挙動としてスコープ外。
Anatomy
root
trigger
positioner
content
arrow
arrow-tipAPI Reference
Arguments
| Name | Type | Default | Description |
|---|---|---|---|
| root: state | OpenState | Closed | 開閉状態(data-state へ反映)。 |
| trigger: state | OpenState | Closed | data-state へ反映される開閉状態。 |
| trigger: disabled | bool | ネイティブ disabled 存在属性と data-disabled の両方へ反映する disabled 状態。 | |
| trigger: describedby | Option<&str> | Some のとき aria-describedby で content と関連付ける(WAI-ARIA tooltip パターン)。 | |
| positioner: state | OpenState | Closed | closed のとき hidden 存在属性を付与する配置ラッパーの開閉状態。 |
| content: state | OpenState | Closed | 開閉状態(closed のとき hidden 存在属性を付与)。 |
| content: id | Option<&str> | trigger の describedby と対で aria-describedby 関連付けを成立させる。 |
Data Attributes
| Part | Attribute | Observed Values |
|---|---|---|
| content | data-state | open |
| positioner | data-state | open |
| root | data-state | open |
| trigger | data-state | open |
Examples
Disabled trigger
disabled な trigger はネイティブ disabled 属性と data-disabled が付与され、フォーカス・展開ができなくなります。
This action is currently unavailable.
Accessibility
WAI-ARIA
| Attribute | Description |
|---|---|
| aria-describedby | trigger に付与。describedby が Some のとき content と関連付ける。 |
| role="tooltip" | content に固定付与。 |
| aria-expanded / aria-controls(非付与) | trigger 自体が展開可能なウィジェットではないため付与しない(Collapsible との違い)。 |
| aria-hidden="true" | arrow/arrow_tip に固定付与(装飾用のみ、スクリーンリーダーの読み上げ対象外)。 |