Skip to content
fandhe-frontend
GitHub

Scroll Area

fandhe-frontend-pre-styled-uiscroll_area mod が提供するスタイル済み Scroll Area 部品です。

CSS overflow を主体としたスクロール領域を提供する部品です。headless 層は anatomy と tabindex="0" のみを提供し、::-webkit-scrollbar 系規則でカスタムスクロールバーの見た目を表現します。JS によるスクロール位置追従は対象外です。

関連 API: fandhe-frontend-pre-styled-ui API / fandhe-frontend-headless-ui API

Demo

CSS overflow を主体としたスクロール領域です。カスタムスクロールバーの見た目は scrollbar-width/scrollbar-color と ::-webkit-scrollbar 系規則で表現します(JS によるスクロール位置追従は対象外)。

スクロール可能な行 1

スクロール可能な行 2

スクロール可能な行 3

スクロール可能な行 4

スクロール可能な行 5

スクロール可能な行 6

スクロール可能な行 7

スクロール可能な行 8

スクロール可能な行 9

スクロール可能な行 10

スクロール可能な行 11

スクロール可能な行 12

スクロール可能な行 13

スクロール可能な行 14

スクロール可能な行 15

スクロール可能な行 16

スクロール可能な行 17

スクロール可能な行 18

スクロール可能な行 19

スクロール可能な行 20

Features

  • headless 層は anatomy(data-scope/data-part)と tabindex="0" のみを提供し、CSS overflow が実際のスクロール可能性を担う(crates/pre-styled-ui/src/scroll_area.rs:11)
  • ::-webkit-scrollbar 系規則でカスタムスクロールバーの見た目を表現する(scroll_area.rs:124-134)
  • JS によるスクロール位置追従は対象外(showcase.rs の scroll_area_section 記述と同方針)

Anatomy

root
  viewport
    content

Examples

Scrollable list

固定高さのビューポート内に 5 行を表示するスクロール領域の例です。

Row 1

Row 2

Row 3

Row 4

Row 5

Accessibility

WAI-ARIA

AttributeDescription
tabindex="0"(viewport)キーボードフォーカス可能にするのみで、固有の role/aria-* は出力しない(scroll_area.rs:11, 69)。