データとフィードバック@neumorphism-ui/scroll-area

Scroll Area

overflow-auto と native scrollbar を使用し、wheel、touch、keyboard、ブラウザー標準のアクセシビリティ動作を維持します。ScrollBar export は shadcn の組み合わせ互換性のための非表示 placeholder です。

@neumorphism-ui/scroll-area
Registry JSON

プレビュー

NVDAアクセシビリティ準備完了
Dialogオーバーレイ準備完了
Data tableデータレビュー
Slider入力準備完了
Tooltipオーバーレイ準備完了
Calendar複合予定
Command複合予定

インストール

インストール: scroll-areanpx shadcn@latest add @neumorphism-ui/scroll-area

CLI が 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 リファレンス

コンポーネントプロパティ型デフォルト説明
ScrollAreaclassNamestring—高さまたは幅を制限して overflow 領域を作ります。
ScrollAreatabIndexnumber—focusable な子要素がない場合に、キーボードスクロールの入口を提供します。
ScrollAreaaria-label / aria-labelledbystring—独立して移動できる領域である場合にコンテンツ名を指定します。
ScrollBarorientation"horizontal" | "vertical""vertical"互換用 placeholder の向きを示す data 属性です。

アクセシビリティ

  • 01

    native overflow は screen reader や touch によるスクロール動作を妨げません。

  • 02

    領域内に link や button がない場合は、tabIndex=0 を指定してキーボード利用者が領域に入れるようにしてください。

  • 03

    ScrollBar は視覚的に非表示の互換用 placeholder であり、実際のスクロールはブラウザーの scrollbar が担います。