VIDEO LESSON

HTMLのmenuタグとは?属性・使い方・ブラウザー互換性と活用例の解説動画

再生時間 8:03動画を別のタブで開く ↗
動画の字幕・文字起こしを読む

再生中の字幕を濃い黒で表示し、一番上に追従します。字幕の行を選ぶと、その位置から再生できます。

  1. 0:00こんにちは。
  2. 0:00エイチティーエムエル、リファレンス解説です。
  3. 0:03エイチティーエムエルタグ編の五十一本目は、メニュータグです。
  4. 0:07メニューは、保存や複製といった操作項目をリストとしてまとめるためのタグです。
  5. 0:12見た目は普通のリストに近いのですが、並んでいるものが文章ではなく、押して使う操作である点が特徴です。
  6. 0:19今回は、よく似たユーエルとの違い、基本の書き方、ボタンとの組み合わせ、そしてメニューだけでは動かないという大切な注意点まで、
  7. 0:24順に学んでいきましょう。
  8. 0:28名前は知っていても、使いどころが分かりにくいタグの一つなので、具体例を中心に丁寧に進めます。
  9. 0:34まず、どんな場面で使うのかを整理します。
  10. 0:38メニューが向いているのは、編集画面のツールバーのように、利用者が選んで実行する操作が複数並ぶ場面です。
  11. 0:46たとえば、保存する、複製する、名前を変える、といった操作です。
  12. 0:51一つひとつの項目が、読むための情報ではなく、実行するための命令になっています。
  13. 0:57逆に、お知らせの一覧や材料のリストのように、読むことが目的の並びには、後で比べるユーエルやオーエルが向いています。
  14. 1:06並べるものが操作かどうかが、判断の分かれ目です。
  15. 1:10操作が増えるほど、まとまりの意味を正しく伝えることが、使いやすさと読み上げでの分かりやすさにつながります。
  16. 1:18基本の形を確認します。
  17. 1:20メニューは開始タグと終了タグを明示して書きます。
  18. 1:24その中に、エルアイで項目を一つずつ分け、各項目の中にボタンを置くのが基本形です。
  19. 1:30画面の例では、保存ボタンと複製ボタンが、それぞれエルアイに包まれて並んでいます。
  20. 1:37メニュー自体が項目を表すのではなく、項目の入れ物である点に注意してください。
  21. 1:43また、ボタンにはタイプ属性でボタンを指定しておくと、フォームの中で送信ボタンと誤解される事故を防げます。
  22. 1:51入れ子の順番を覚えることが第一歩です。
  23. 1:54この形は、ツールバーだけでなく、記事ごとの操作一覧など、似た場面でもそのまま応用できます。
  24. 2:01よく似たリスト系のタグと比べてみましょう。
  25. 2:05ユーエルは、買い物リストのように順番に意味がない項目の並びです。
  26. 2:11オーエルは、手順や順位のように、順番そのものに意味がある並びです。
  27. 2:17そしてメニューは、ボタンなどの操作項目の並びです。
  28. 2:22見た目はいずれも箇条書きに近く、シーエスエスで見た目を揃えることもできますが、
  29. 2:27タグの意味は異なります。
  30. 2:31ブラウザーや支援技術は、この意味の違いを手がかりに内容を伝えます。
  31. 2:37見た目ではなく、中身が何かで選ぶのが正しい使い分けです。
  32. 2:43迷ったときは、項目を読ませたいのか、押させたいのかを自問すると、選ぶタグが見えてきます。
  33. 2:51メニューの属性について説明します。
  34. 2:54この要素には、必須となる専用の属性はありません。
  35. 2:57必要に応じて、グローバル属性と呼ばれる共通の属性を使います。
  36. 3:02代表例は、文書内で一意の識別子であるアイディー、シーエスエスやジャバスクリプトでまとめて選ぶためのクラス、
  37. 3:09内容の言語を示すラング、そしてアプリ独自の値を保持するデータ属性です。
  38. 3:16注意したいのは、子要素であるボタン側の属性と混同しないことです。
  39. 3:21タイプ属性などはボタンのものであって、メニューの属性ではありません。
  40. 3:26役割ごとに分けて考えましょう。
  41. 3:29クラス名は、ツールバーなど役割が分かる名前を付けると、後からスタイルを直すときにも迷いません。
  42. 3:36記事の活用事例を、もう少し広げて読み解きます。
  43. 3:40画面の例は、保存、複製、削除という三つの操作ボタンを、メニューの中に並べたものです。
  44. 3:47ポイントは二つあります。
  45. 3:49一つ目は、各ボタンをエルアイで区切ることで、操作が三項目あることが構造からも明確になることです。
  46. 3:58二つ目は、ボタンの文字を、押した結果が分かる言葉にすることです。
  47. 4:04決定や実行のような曖昧な言葉ではなく、保存、複製と具体的に書くことで、利用者が迷わず選べます。
  48. 4:12まず静的な形を作り、動作は次の段階で加えます。
  49. 4:16項目の数が増えたら、よく使う操作を前に置くなど、並び順にも利用者の視点で気を配りましょう。
  50. 4:24なぜ項目の中にボタンを置くのか、理由を確認します。
  51. 4:28メニュー自体は、あくまで項目をまとめる入れ物であり、それ自体を押して何かが起きる要素ではありません。
  52. 4:36実際に押せる要素として、操作の実行にはボタン要素、別のページへの移動にはエー要素を使います。
  53. 4:43ボタンを使えば、タブキーで項目を移動し、エンターやスペースで実行するという、
  54. 4:47キーボードの標準的な操作も自然に成り立ちます。
  55. 4:52エルアイの中にただ文字だけを書いて、クリック処理だけを付け足す書き方は避けましょう。
  56. 4:59支援技術を使う人にとっても、ボタンであることが伝わることで、操作方法の見通しが立ちやすくなります。
  57. 5:06ここが最も大切な注意点です。
  58. 5:09メニュータグを書いただけでは、パソコンの右クリックメニューのような、開閉するメニューや、
  59. 5:15矢印キーで項目を選ぶ操作が自動で付くわけではありません。
  60. 5:20見た目も、初期状態では普通のリストとほぼ同じです。
  61. 5:25ボタンを押したときの処理、たとえば保存処理や確認画面の表示は、ジャバスクリプトで別途設定します。
  62. 5:32つまりメニューの役割は、操作項目であるという意味と構造を伝えることまでです。
  63. 5:39動きは自分で実装するものだと、はっきり覚えておきましょう。
  64. 5:43見た目の開閉アニメーションも、必要ならシーエスエスと組み合わせて自分で作る範囲だと理解しておきましょう。
  65. 5:52よくある失敗も確認しておきます。
  66. 5:55一つ目は、サイト内のページ移動リンクの集まりにメニューを使ってしまうことです。
  67. 6:01主要な移動リンクのまとまりには、ナブ要素が向いています。
  68. 6:06二つ目は、読むだけの箇条書きにメニューを使うことです。
  69. 6:10それはユーエルの役割です。
  70. 6:12三つ目は、画面の例のように、エルアイを省略してボタンを直接並べてしまうことです。
  71. 6:19項目という構造が崩れるので、必ずエルアイで包みましょう。
  72. 6:23タグ名の印象ではなく、内容の意味から判断する習慣が大切です。
  73. 6:28制作前に、これは移動か、実行か、ただの情報かを項目ごとに仕分けしておくと、
  74. 6:32こうした混同を防げます。
  75. 6:36ブラウザー互換性を確認します。
  76. 6:39記事が参照するエムディーエヌの記録では、メニュー要素本体は、クロームが一以降、
  77. 6:46エッジが十二以降、ファイアフォックスが一以降、サファリが三以降と、主要ブラウザーで古くから広く対応しています。
  78. 6:53ただし、これは要素本体の対応であり、ボタンに付けた処理や新しいエーピーアイが同じように動く保証ではありません。
  79. 7:01作ったあとは、タブ、エンター、スペースといった標準のキーボード操作で使えるか、
  80. 7:08三百二十ピクセル程度の細い画面幅でも操作部分が欠けないかを、あわせて確認してください。
  81. 7:14スマートフォンやタブレットでも、ボタンが押しやすい大きさを保てているかを実機で確かめると安心です。
  82. 7:22最後にまとめです。
  83. 7:23メニュータグは、保存や複製といった操作項目をまとめるリストでした。
  84. 7:28ポイントは三つです。
  85. 7:29一つ目、基本形はメニューの中にエルアイを置き、その中にボタンを置く形であること。
  86. 7:35二つ目、読むリストであるユーエルやオーエルとは、意味で使い分けること。
  87. 7:40三つ目、メニューを書いただけでは開閉やキー操作は自動で付かず、ボタンの処理はジャバスクリプトで設定することです。
  88. 7:49練習として、編集操作のボタンを三つ、メニューとエルアイとボタンで組み立ててみてください。
  89. 7:55お疲れさまでした。
  90. 7:56まずは小さなツールバーから試し、意味に合ったタグ選びを体で覚えていくことが上達への近道です。
日本語字幕をダウンロード(WebVTT)

この動画で学べること

menuタグの役割と属性を、コード例・活用事例・注意点とともに解説。Chrome・Edge・Firefox・Safariの互換性も確認できます。操作項目などのリスト。各項目を li にし、動作には button などを使います。

解説記事・サンプルコードを読む:HTMLのmenuタグとは?属性・使い方・ブラウザー互換性と活用例 →