​​React​CSS,CSS Scroll Snap,Playwright,TypeScript,アクセシビリティ

Thumbnail of post image 089

指でめくると1枚ずつ止まる画像のカルーセルを、React と CSS Scroll Snap で作りました。前へ・次へのボタン、何枚目かの表示、ページが縦に動かないめくり方、画面の幅が変わったときの動きを、検証環境で確かめています。

​​React​CSS,HTML,Playwright,TypeScript,useState,アクセシビリティ

Thumbnail of post image 045

details と summary でアコーディオンを作ると、開閉とキーボード操作はブラウザに任せられます。React の state で開閉を持つときに onToggle が要る理由、name 属性で1つだけ開く作り、三角の消し方と ...

​​React​Playwright,TypeScript,useRef,WAI-ARIA,アクセシビリティ

Thumbnail of post image 035

タブを ←→・Home・End で切り替えられるように、React と TypeScript で作りました。Tab キーで止まるタブを1つにする tabindex の付け方、ref の配列でフォーカスを動かす書き方、Enter で切り ...

​​React​React Router,TypeScript

Thumbnail of post image 061

React Routerのデータモードでは、ローダーを待つあいだ前の画面が残ります。useNavigationで画面上部に読み込みバーを出す方法、NavLinkのpendingクラスとisPendingで、押したリンクの文字を灰色にし ...

​​React​Playwright,TypeScript,アクセシビリティ

Thumbnail of post image 154

一覧を10件ずつに分け、「1 … 4 5 6 … 10」のようなページ番号のボタンで切り替える部品を、ReactとTypeScriptで作りました。番号の並びを決める関数、ボタンのkeyの選び方、最後のページでのフォーカス、件数が減っ ...

​​React​Canvas API,File API,Playwright,TypeScript

Thumbnail of post image 176

選んだ画像をブラウザの中で縮小し、送る前にプレビューする方法を React と TypeScript で確かめました。canvas で JPEG にする関数、選び直したときの古い結果の捨て方、透明な PNG と画像の向きにも触れます。 ...

​​React​Clipboard API,File API,Playwright,TypeScript

Thumbnail of post image 154

入力欄に Ctrl+V で貼り付けた画像を、React で受け取って一覧に表示する方法です。onPaste で画像を取り出す方法、文字の貼り付けを邪魔しない書き方、表示用の URL の作り方と解放のしかたを確かめました。

​​React​CSS,Playwright,Pointer Events,TypeScript,アクセシビリティ

Thumbnail of post image 052

サイドバーと本文のあいだの取っ手をドラッグして、幅を変えられるようにする部品を React と TypeScript で作りました。setPointerCapture、文字の選択とタッチの対策、キーボード操作、幅の保存を順に確かめてい ...

​​React​createPortal,CSS,Floating UI,Playwright,TypeScript,useLayoutEffect

Thumbnail of post image 196

画面の端にあるボタンのツールチップが切れないように、位置を計算するフックを TypeScript で作りました。上に入らなければ下に回し、左右は画面の内側にずらし、矢印はボタンを指したままにします。Floating UI と CSS ...

​​React​Playwright,TypeScript,アクセシビリティ,フォーム

Thumbnail of post image 173

入力項目の多いフォームを「連絡先→お届け先→確認」のようにステップに分ける作り方です。値を親にまとめて持つこと、次へ進む操作をformの送信で扱うこと、「戻る」にtype=”button”を付けることを、検証環 ...