Skip to content
fandhe-frontend
GitHub

Splitter

リサイズ可能なパネル分割レイアウトです。fandhe-frontend-headless-uisplitter mod は Root / Panel / ResizeTrigger / ResizeTriggerIndicator の 4 anatomy パーツと、role="separator" + aria-valuemin/aria-valuemax/aria-valuenow/aria-orientation/aria-controls を提供する決定的なパネルサイズ状態機械です。Themes 版と異なりドラッグ操作の視覚表現を持たず、構造・ARIA 属性・数値正規化ロジックのみを担います。

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

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

Demo

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

Panel A
Panel B

Features

  • Root / Panel / ResizeTrigger / ResizeTriggerIndicator の 4 anatomy パーツと、パネルサイズ状態機械 Splitter を提供する(splitter.rs:1-11)。
  • resize_trigger は role="separator" + aria-valuemin/aria-valuemax/aria-valuenow + aria-orientation(パネルレイアウトと逆向き)+ aria-controls を常に出力する(splitter.rs:13-22,238-280)。
  • disabled=true のとき tabindex="-1" + aria-disabled、false のとき tabindex="0" を出力する(splitter.rs:242-275)。
  • Splitter::new はパネル数 2 未満・非有限値・制約矛盾等の実現不能構成を既定(2 パネル 50/50)へ fail-closed にフォールバックする(splitter.rs:33-45,194-208)。

Anatomy

root
  panel
  resize-trigger
    resize-trigger-indicator

API Reference

Arguments

NameTypeDefaultDescription
root: orientation, disabledOrientation, boolパネルレイアウトの向きと無効状態(splitter.rs:212-222)。
panel: id&strresize_trigger の aria-controls 先となる id(必須、splitter.rs:224-236)。
resize_trigger: min, max, now, controls, disabled&str, &str, &str, &str, boolaria-valuemin/aria-valuemax/aria-valuenow/aria-controls と tabindex 切替の元(splitter.rs:246-280)。
Splitter::new: panels, orientation&[PanelSpec], Orientationパネル構成(size/min/max)と向き。fail-closed に正規化する(splitter.rs:352)。

Data Attributes

PartAttributeObserved Values
paneldata-orientationhorizontal
resize-triggerdata-orientationhorizontal
rootdata-orientationhorizontal

Examples

Vertical 3-panel splitter

縦方向レイアウトで 3 パネル・2 セパレータを組んだ例です(Demo は水平 2 パネル)。

Top
Middle
Bottom

Accessibility

Keyboard Interactions

KeyDescription
Tabresize_trigger は disabled=false のとき tabindex="0" で通常の Tab 順序に入り、disabled=true のとき tabindex="-1" で除外される(splitter.rs:242-275)。Arrow キー等による実際のリサイズ操作の DOM 配線は wasm-full 層のスコープ(本モジュールは属性出力のみ)。

WAI-ARIA

AttributeDescription
role="separator"resize_trigger に固定出力する(splitter.rs:262-263)。
aria-valuemin / aria-valuemax / aria-valuenow先行パネルのサイズ%(有限性検証・クランプ済み)を出力する(splitter.rs:56-59,264-266)。
aria-orientationセパレータ自体の向き(パネルレイアウトと逆向き、splitter.rs:13-22,267)。
aria-controls先行パネルの id(splitter.rs:268)。
aria-disabled="true"disabled=true のときのみ出力する(splitter.rs:270-273)。