Scroll Area
overflow-auto と native scrollbar を使用し、wheel、touch、keyboard、ブラウザー標準のアクセシビリティ動作を維持します。ScrollBar export は shadcn の組み合わせ互換性のための非表示 placeholder です。
@neumorphism-ui/scroll-areaプレビュー
インストール
インストール: scroll-area
npx shadcn@latest add @neumorphism-ui/scroll-areaCLI が npm 依存関係、base token、utils、コンポーネントソースを順番に処理します。
この Registry を初めて使う場合は、先に namespace の設定 を完了してください。
使い方
Import
Scroll Area の import コード
import {
ScrollArea,
ScrollBar,
} from "@/components/ui/scroll-area"Example
Scroll Area の使用コード
<ScrollArea
className="h-64 p-4"
tabIndex={0}
aria-label="最近のアクティビティ"
>
{activities.map((activity) => (
<article key={activity.id}>{activity.title}</article>
))}
<ScrollBar orientation="vertical" />
</ScrollArea>API リファレンス
| コンポーネント | プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|---|
ScrollArea | className | string | — | 高さまたは幅を制限して overflow 領域を作ります。 |
ScrollArea | tabIndex | number | — | focusable な子要素がない場合に、キーボードスクロールの入口を提供します。 |
ScrollArea | aria-label / aria-labelledby | string | — | 独立して移動できる領域である場合にコンテンツ名を指定します。 |
ScrollBar | orientation | "horizontal" | "vertical" | "vertical" | 互換用 placeholder の向きを示す data 属性です。 |
アクセシビリティ
- 01
native overflow は screen reader や touch によるスクロール動作を妨げません。
- 02
領域内に link や button がない場合は、tabIndex=0 を指定してキーボード利用者が領域に入れるようにしてください。
- 03
ScrollBar は視覚的に非表示の互換用 placeholder であり、実際のスクロールはブラウザーの scrollbar が担います。