Skip to content
fandhe-frontend
GitHub

Hover Card

リンク先プレビュー等、hover / focus で開閉するオーバーレイです。 fandhe-frontend-headless-uihover_card mod は Root / Trigger / Positioner / Content / Arrow / ArrowTip の 6 anatomy パーツを提供します。 trigger はリンク先プレビュー用途の a 要素であり、HoverCardDelaysopen_ms/close_ms、ark-ui 既定の 600/300 ms)を data-open-delay/ data-close-delay として決定的に出力します。WAI-ARIA に hover card 専用 パターンは存在しないため、aria-expanded/aria-controls/aria-haspopup 及び固定 role を一切付与しません(Tooltip との違い)。

スタイル済みの表示例は Hover Card を参照してください。

関連 API: fandhe-frontend-headless-ui API

Demo

枠線・余白は docs サイト側のデモ枠であり、fandhe-frontend-headless-ui 自体はスタイルを持ちません。

@example
Example user profile preview.

Features

  • Root / Trigger / Positioner / Content / Arrow / ArrowTip の 6 anatomy パーツと、Disclosure を埋め込んだ開閉状態機械 HoverCard を提供する。trigger はリンク先プレビュー用途の a 要素であり、Tooltip とはこの点が異なる。
  • HoverCardDelays(open_ms 既定 600 / close_ms 既定 300、ark-ui 既定値)を data-open-delay/data-close-delay(10 進の ms 値のみ)として決定的に出力する。実際の hover/focus タイマー駆動は wasm-full 側の責務でスコープ外。
  • WAI-ARIA に hover card 専用パターンが存在しないため、aria-expanded/aria-controls/aria-haspopup 及び content への固定 role を一切付与しない(Tooltip/Popover との違い)。

Anatomy

root
  trigger
  positioner
    content
      arrow
        arrow-tip

API Reference

Arguments

NameTypeDefaultDescription
root: stateOpenStateClosed開閉状態(data-state へ反映)。
root: delaysHoverCardDelaysHoverCardDelays::default()(open_ms: 600, close_ms: 300)data-open-delay/data-close-delay(10 進の ms 値のみ)へ反映される遅延設定。
trigger: stateOpenStateCloseddata-state へ反映される開閉状態。
trigger: hrefOption<&str>Some のときのみ href 属性を出力する(リンク先プレビュー用途)。
positioner: stateOpenStateClosedclosed のとき hidden 存在属性を付与する配置ラッパーの開閉状態。
content: stateOpenStateClosed開閉状態(closed のとき hidden 存在属性を付与)。
content: idOption<&str>呼び出し側が任意に使える id(本モジュールは固定の aria-describedby を配線しない)。

Data Attributes

PartAttributeObserved Values
contentdata-stateopen
positionerdata-stateopen
rootdata-close-delay300
rootdata-open-delay600
rootdata-stateopen
triggerdata-stateopen

Examples

Custom delays

open_ms/close_ms を既定値(600/300)から変更し、開くまでの遅延を短く・閉じるまでの遅延を長くした例です。

@team
Opens fast, lingers longer before closing.

Accessibility

WAI-ARIA

AttributeDescription
aria-expanded / aria-controls / aria-haspopup(非付与)WAI-ARIA に hover card 専用パターンが無いため、trigger には付与しない。
role(非付与)content にも固定 role を付与しない。
aria-hidden="true"arrow/arrow_tip に固定付与(装飾用のみ、スクリーンリーダーの読み上げ対象外)。