ウェブコンポーネントで遊べるように
forで指定
デフォルトのプロトコルがある
ギャラリーは、プロトコルを提供するためだけのラッパー要素がある
code:html
<lightbox-gallery for=product-images></lightbox-gallery>
<gallery-target id=product-images>
<img src=...>
<img src=...>
</gallery-target>
JavaScriptでプロトコルを満たすAPIを提供してもいいし、提供されたgallery-targetを使ってもいい。
この例は、画像を子孫にするというプロトコルでもいいな
ARIAのプラクティスのやつは一通り提供したらいい。
何から始められるか。ギャラリーはもう作っちゃったしな。
EPUBをまたやるのはありだな。
分類
コントロールがあるやつ
video
audio
EPUB読むやつ
めくりとかのコントロール
これらを他の要素とコミュニケーションさせられると面白いのでは
カスタムコントロールを提供できるようにするとか
そのコントロールとの仲介をする。プロトコルを定める
実際にはvideoとか使わないでYouTube埋め込みなんだろうけど
ARIAプラクティスに載ってるような、ウィジェット
ディスクロージャー
details要素のやり方が立派なプロトコルになってる
トランジションを足してやってもよい
モーダルダイアログ
details要素みたいなプロトコルでいいのでは
と思ったけど、一応dialog要素あるんだった
カルーセル
画像集のラッパーライブラリー、又はJavaScriptプロトコル
一覧、次、前、自動スクロール
ギャラリー
画像集のラッパーライブラリー、又はJavaScriptプロトコル
タブ
アコーディオン
トグルスイッチ
データ系
IndexedDB
他の要素とのインタラクションの仕様を決める
キーとか
画像や本のアノテーション
パーツからゆっくりと
画像の部分を選択するやつ
選択したのをどうするかは、他の要素に渡す。イベントとか、JavaScriptプロトコルとかで。
コメントするやつ
サーバーに投げるやつ
めくるやつ
ロードするやつ