Interest Invokersとcommand属性
宣言的なアクションのためのcommand属性とcommandfor属性を学びます
「Interest Invokersとcommand属性」はCoddyKit上の無料HTML Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHTML Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 HTML Academyコースには全4レッスンが含まれています。
開発中の2つの宣言的パターン
Open UIグループは、クリックでアクションを実行するcommandと、ホバーやフォーカスで「関心」を示すinteresttargetという、2つの新しいHTML属性を標準化しています。後者はツールチップやプレビューの基盤となるものです。どちらも、これまでJavaScriptが必要だった動作を宣言的に記述できるようHTMLを拡張します。
command属性
command="show-modal"とcommandfor="dialog-id"を指定したボタンを使うと、JSなしでダイアログを表示できます。これは、手動でdialog.showModal()を呼び出す実装に置き換わるものです。その他のコマンドには、command="close"やcommand="toggle-popover"、command="show-popover"があります。
<button command="show-modal" commandfor="my-dialog">Open</button>
<dialog id="my-dialog">...</dialog>対応しているコマンド
初期のコマンド群は、一般的なUIパターンを対象としています。ダイアログ(組み込みの<dialog>)の表示・非表示、ポップオーバー(Popover API)の切り替えなどです。今後、種類が増える可能性があります。カスタム要素は、oncommandイベントハンドラーを使って、受け付けるコマンドを宣言できます。
カスタムコマンド
組み込みコマンドに加えて、仕様では「--」で始まるカスタムコマンド文字列も使用できます。対象要素はcommandイベントを受け取り、JSで処理できます。例:el.addEventListener("command", (e) => { if (e.command === "--save") save(); })。
Interest invoker
interesttarget属性は、要素の「関心」の対象を指定します。対象は通常、ホバーまたはフォーカスで表示されるツールチップです。ブラウザーが、タイミング(300ミリ秒のホバー意図判定の遅延)、位置(アンカーポジショニングを使用)、閉じる処理を自動的に管理します。
<button interesttarget="user-info">Profile</button>
<div id="user-info" popover="hint">Ada Lovelace — Admin</div>popover="hint"との組み合わせ
hintポップオーバーモードは、関心を示したときに表示されるツールチップ風のポップオーバー向けに設計されています。モーダルではないためフォーカスを奪わず、関心がなくなると閉じます。interesttarget + popover="hint"を組み合わせることで、2つのHTML属性だけでネイティブのツールチップを実現できます。
アクセシビリティ上の利点
ネイティブダイアログはフォーカスの閉じ込めを処理し、ネイティブポップオーバーは重なり順を処理し、ネイティブのinterest invokerはホバー意図の判定タイミングを処理して、スクリーンリーダーに要素間の関係を伝えます。カスタムJS実装をこれらの宣言的な基本機能に置き換えることで、アクセシビリティの品質を安定して向上させられます。
仕様の現在の状況
これらの機能は現在も標準化が進められています。正確な属性名やコマンドの種類は変更される可能性があります。ブラウザーへの実装は、まずChromiumから始まっています。本番環境での使用は、命名が安定し、少なくとも2つのブラウザーで提供されるまで待つことをおすすめします。おそらく今後1~2年以内になるでしょう。
JSパターンの置き換え
これらの機能は、ダイアログ管理、ポップオーバーの起動、ツールチップの動作など、何百万回も書き直されてきたJavaScriptをそれぞれ置き換えます。こうしたパターンをHTMLに移すことで、ページの容量を減らし、一貫性を高め、ブラウザーによる最適化も可能になります。
情報源としてのOpen UI
Open UIコミュニティグループ(open-ui.org)は、この取り組みの多くを推進しています。新しいHTML要素や属性を提案・試作し、標準化のプロセスを進めています。最新の提案については、ブログを確認してください。
その他の最新機能とのつながり
command、interesttarget、popover、dialog、アンカーポジショニング、ビュートランジション、カスタマイズ可能なselectは、コンポーネントライブラリのパターンをプラットフォームに取り込む、1つの一貫した取り組みの一部です。それぞれは小さな機能ですが、合わせると、ここ数年で最大規模となるHTMLのUI語彙の拡張を意味します。
今すぐできること
提案の進展(open-ui.org)を追い、フラグを有効にしたChromiumで試し、機能が安定したら採用できるよう計画してください。既存のコードベースも確認しましょう。ダイアログ、ポップオーバー、ツールチップの処理にどれだけのJSを使っているかを数えてください。そのコードは、今後数回のリリースで置き換えられる対象です。
理解度チェック
ボタンのcommand属性にはどのような目的がありますか。
まとめ
開発中の2つの機能により、HTMLの宣言的なUI語彙が拡張されます。command + commandforはクリックで実行するアクション(モーダルの表示、ポップオーバーの切り替え)に、interesttarget + popover="hint"はホバーやフォーカスで表示するツールチップに使用します。どちらも一般的なJavaScriptパターンをHTML属性に置き換え、アクセシビリティを向上させながらバンドルサイズを削減します。まだ進化の途中にあるため、Open UIで安定化の進展を追い、ブラウザー対応に合わせて提供してください。
AI チューターと学ぶ HTML — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 40
- レッスン
- 159
よくある質問
「Interest Invokersとcommand属性」レッスンは無料ですか?
はい。「Interest Invokersとcommand属性」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、HTML Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 HTML Academyコースには全4レッスンが含まれています。
「Interest Invokersとcommand属性」で何を学びますか?
宣言的なアクションのためのcommand属性とcommandfor属性を学びます ブラウザで直接実行するハンズオンコードでHTML Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
HTML Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHTML Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Interest Invokersとcommand属性」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHTML Academyレッスンでコードを書いて実行できますか?
はい。すべてのHTML Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 宣言的Shadow DOM
- Popover API
- selectlist要素
- Interest Invokersとcommand属性