ボタンをゼロから作るには、まず宇宙を創造せよ

If you want to create a button from scratch, you must first create the universe

ボタンをゼロから作るには、まず宇宙を創造せよ

Webアクセシビリティを学び始めると、まず「ARIAを使うな」「ネイティブ要素を使え」というアドバイスを聞きますが、その理由はあまり説明されません。この記事では、カスタム要素で`<button>`を再実装する過程を追いながら、その背後にある複雑さを解説します。アクセシブルな名前、キーボード操作、フォーム連携、`disabled`状態、最新のAPI対応など、ネイティブ要素が無償で提供する機能を一から再現するのは、まさにシーシュポスのような作業だと実感できるでしょう。

ネイティブ要素には、その動作に関する一連の期待が存在し、それらはUXの法則に従っている。

この日のほかの記事

2026-07-16