メインコンテンツへスキップ

header要素


1.仕様

HEADER要素は、
導入的なコンテンツの
グループを表します。

header

導入支援またはナビゲーション支援のグループ (A group of introductory or navigational aids.)

種類

通常要素

カテゴリ

使用できるコンテキスト
フローコンテンツを受け入れる要素 (header要素, footer要素, address要素, dt要素, th要素 を除く)

フローコンテンツを受け入れる要素 (header要素, footer要素, address要素, dt要素, th要素 を除く)のコンテンツとして、使用できます。

header要素, footer要素, address要素, dt要素, th要素を除くフローコンテンツを受け入れる要素は、body要素, section要素, nav要素, aside要素, article要素, main要素, li要素, dd要素, caption要素, td要素, form要素, fieldset要素, search要素, blockquote要素, figure要素, figcaption要素, div要素, dialog要素, details要素 です。

タグの省略

どちらのタグも省略できません。

コンテンツ属性

グローバル属性のみ

DOM インターフェイス
HTMLElement
  1. [Exposed=Window]
  2. interface HTMLElement : Element {
  3. [HTMLConstructor] constructor();
  4.  
  5. // metadata attributes
  6. [CEReactions] attribute DOMString title;
  7. [CEReactions] attribute DOMString lang;
  8. [CEReactions] attribute boolean translate;
  9. [CEReactions] attribute DOMString dir;
  10.  
  11. // user interaction
  12. [CEReactions] attribute (boolean or unrestricted double or DOMString)? hidden;
  13. [CEReactions] attribute DOMString inert;
  14. undefined click();
  15. [CEReactions] attribute DOMString accessKey;
  16. readonly attribute DOMString accessKeyLabel;
  17. [CEReactions] attribute boolean draggable;
  18. [CEReactions] attribute boolean spellcheck;
  19. [CEReactions] attribute DOMString writingSuggestions;
  20. [CEReactions] attribute DOMString autocapitalize;
  21.  
  22. [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerText;
  23. [CEReactions] attribute [LegacyNullToEmptyString] DOMString outerText;
  24.  
  25. ElementInternals attachInternals();
  26.  
  27. // The popover API
  28. undefined showPopover();
  29. undefined hidePopover();
  30. boolean togglePopover(optional boolean force);
  31. [CEReactions] attribute DOMString? popover;
  32. };
  33.  
  34. HTMLElement includes GlobalEventHandlers;
  35. HTMLElement includes ElementContentEditable;
  36. HTMLElement includes HTMLOrSVGElement;
Element
  1. [Exposed=Window]
  2. interface Element : Node {
  3. readonly attribute DOMString? namespaceURI;
  4. readonly attribute DOMString? prefix;
  5. readonly attribute DOMString localName;
  6. readonly attribute DOMString tagName;
  7.  
  8. [CEReactions] attribute DOMString id;
  9. [CEReactions] attribute DOMString className;
  10. [SameObject, PutForwards=value] readonly attribute DOMTokenList classList;
  11. [CEReactions, Unscopable] attribute DOMString slot;
  12.  
  13. boolean hasAttributes();
  14. [SameObject] readonly attribute NamedNodeMap attributes;
  15. sequence<DOMString> getAttributeNames();
  16. DOMString? getAttribute(DOMString qualifiedName);
  17. DOMString? getAttributeNS(DOMString? namespace, DOMString localName);
  18. [CEReactions] undefined setAttribute(DOMString qualifiedName, DOMString value);
  19. [CEReactions] undefined setAttributeNS(DOMString? namespace, DOMString qualifiedName, DOMString value);
  20. [CEReactions] undefined removeAttribute(DOMString qualifiedName);
  21. [CEReactions] undefined removeAttributeNS(DOMString? namespace, DOMString localName);
  22. [CEReactions] boolean toggleAttribute(DOMString qualifiedName, optional boolean force);
  23. boolean hasAttribute(DOMString qualifiedName);
  24. boolean hasAttributeNS(DOMString? namespace, DOMString localName);
  25.  
  26. Attr? getAttributeNode(DOMString qualifiedName);
  27. Attr? getAttributeNodeNS(DOMString? namespace, DOMString localName);
  28. [CEReactions] Attr? setAttributeNode(Attr attr);
  29. [CEReactions] Attr? setAttributeNodeNS(Attr attr);
  30. [CEReactions] Attr removeAttributeNode(Attr attr);
  31.  
  32. ShadowRoot attachShadow(ShadowRootInit init);
  33. readonly attribute ShadowRoot? shadowRoot;
  34.  
  35. Element? closest(DOMString selectors);
  36. boolean matches(DOMString selectors);
  37. boolean webkitMatchesSelector(DOMString selectors); // legacy alias of .matches
  38.  
  39. HTMLCollection getElementsByTagName(DOMString qualifiedName);
  40. HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
  41. HTMLCollection getElementsByClassName(DOMString classNames);
  42.  
  43. [CEReactions] Element? insertAdjacentElement(DOMString where, Element element); // legacy
  44. undefined insertAdjacentText(DOMString where, DOMString data); // legacy
  45. };
GlobalEventHandlers
  1. interface mixin GlobalEventHandlers {
  2. attribute EventHandler onabort;
  3. attribute EventHandler onauxclick;
  4. attribute EventHandler onbeforeinput;
  5. attribute EventHandler onbeforematch;
  6. attribute EventHandler onbeforetoggle;
  7. attribute EventHandler onblur;
  8. attribute EventHandler oncancel;
  9. attribute EventHandler oncanplay;
  10. attribute EventHandler oncanplaythrough;
  11. attribute EventHandler onchange;
  12. attribute EventHandler onclick;
  13. attribute EventHandler onclose;
  14. attribute EventHandler oncontextlost;
  15. attribute EventHandler oncontextmenu;
  16. attribute EventHandler oncontextrestored;
  17. attribute EventHandler oncopy;
  18. attribute EventHandler oncuechange;
  19. attribute EventHandler oncut;
  20. attribute EventHandler ondblclick;
  21. attribute EventHandler ondrag;
  22. attribute EventHandler ondragend;
  23. attribute EventHandler ondragenter;
  24. attribute EventHandler ondragleave;
  25. attribute EventHandler ondragover;
  26. attribute EventHandler ondragstart;
  27. attribute EventHandler ondrop;
  28. attribute EventHandler ondurationchange;
  29. attribute EventHandler onemptied;
  30. attribute EventHandler onended;
  31. attribute OnErrorEventHandler onerror;
  32. attribute EventHandler onfocus;
  33. attribute EventHandler onformdata;
  34. attribute EventHandler oninput;
  35. attribute EventHandler oninvalid;
  36. attribute EventHandler onkeydown;
  37. attribute EventHandler onkeypress;
  38. attribute EventHandler onkeyup;
  39. attribute EventHandler onload;
  40. attribute EventHandler onloadeddata;
  41. attribute EventHandler onloadedmetadata;
  42. attribute EventHandler onloadstart;
  43. attribute EventHandler onmousedown;
  44. [LegacyLenientThis] attribute EventHandler onmouseenter;
  45. [LegacyLenientThis] attribute EventHandler onmouseleave;
  46. attribute EventHandler onmousemove;
  47. attribute EventHandler onmouseout;
  48. attribute EventHandler onmouseover;
  49. attribute EventHandler onmouseup;
  50. attribute EventHandler onpaste;
  51. attribute EventHandler onpause;
  52. attribute EventHandler onplay;
  53. attribute EventHandler onplaying;
  54. attribute EventHandler onprogress;
  55. attribute EventHandler onratechange;
  56. attribute EventHandler onreset;
  57. attribute EventHandler onresize;
  58. attribute EventHandler onscroll;
  59. attribute EventHandler onscrollend;
  60. attribute EventHandler onsecuritypolicyviolation;
  61. attribute EventHandler onseeked;
  62. attribute EventHandler onseeking;
  63. attribute EventHandler onselect;
  64. attribute EventHandler onslotchange;
  65. attribute EventHandler onstalled;
  66. attribute EventHandler onsubmit;
  67. attribute EventHandler onsuspend;
  68. attribute EventHandler ontimeupdate;
  69. attribute EventHandler ontoggle;
  70. attribute EventHandler onvolumechange;
  71. attribute EventHandler onwaiting;
  72. attribute EventHandler onwebkitanimationend;
  73. attribute EventHandler onwebkitanimationiteration;
  74. attribute EventHandler onwebkitanimationstart;
  75. attribute EventHandler onwebkittransitionend;
  76. attribute EventHandler onwheel;
  77. };
ElementContentEditable
  1. interface mixin ElementContentEditable {
  2. [CEReactions] attribute DOMString contentEditable;
  3. [CEReactions] attribute DOMString enterKeyHint;
  4. readonly attribute boolean isContentEditable;
  5. [CEReactions] attribute DOMString inputMode;
  6. };
HTMLOrSVGElement
  1. interface mixin HTMLOrSVGElement {
  2. [SameObject] readonly attribute DOMStringMap dataset;
  3. attribute DOMString nonce; // intentionally no [CEReactions]
  4.  
  5. [CEReactions] attribute boolean autofocus;
  6. [CEReactions] attribute long tabIndex;
  7. undefined focus(optional FocusOptions options = {});
  8. undefined blur();
  9. };
ARIA in HTML
暗黙的="banner,generic" ARIAロール="あり" aria-* 属性="GlobalAny"

暗黙的な ARIAセマンティクスは、role=banner, generic です。
article, aside, main, nav, section 要素の子孫でない場合、または role=article, complementary, main, navigation, region の要素でない場合は role=banner です。それ以外の場合は、role=generic

作成者が要素に指定してもよい ARIAロール値は、 group, none, presentation です。
generic として公開されている場合は、命名が禁止されます。

グローバル aria-* 属性と、許可されたロールに適用される任意の aria-* 属性が記述できます。

レンダリング
ブロックボックス
フローコンテンツ
  1. header {
  2. display: block;
  3. unicode-bidi: isolate;
  4. }

CSS を大雑把に読むと、 ブロックレベルのブロックコンテナボックス(ブロックボックス)を生成します。 などになります。

説明
header要素は、導入支援またはナビゲーション支援のグループを表します。
  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>header要素の例 - (Example of header element) | 離珠のHTMLでしぃ!</title>
  6. </head>
  7. <body>
  8. <header>
  9. <h1>header要素の例</h1>
  10. <p>区分化に関わる要素の記述例です。</p>
  11. </header>
  12. <main>
  13. <section>
  14. <h2>テーマ1</h2>
  15. テーマ1の内容を記述します。
  16. </section>
  17. <section>
  18. <h2>テーマ2</h2>
  19. テーマ2の内容を記述します。
  20. </section>
  21. </main>
  22. <footer>
  23. <address>
  24. <p>連絡先情報</p>
  25. </address>
  26. <span>Copyright(C) 2024 KOUTAN</span>
  27. </footer>
  28. </body>
  29. </html>

このサンプルへのリンクです。
(./exheader.htm)

JSONデータ
JSON形式での、データのイメージです。
  1. {
  2. "header": {
  3. "check": "2024-09-01",
  4. "group": "Section",
  5. "element": "- - (%Flow)* -(header|footer) -- A group of introductory or navigational aids. (Normal elements.) [Flow|Palpable] --",
  6. "attlist": {"%Global;": ""},
  7. "comment": "導入支援またはナビゲーション支援のグループ (A group of introductory or navigational aids.)",
  8. "point": "導入支援またはナビゲーション支援のグループを表します。",
  9. "kind": "Normal",
  10. "categories": [
  11. "Flow",
  12. "Palpable",
  13. ],
  14. "used": "parent (%Flow)* -(header|footer|address|dt|th)",
  15. "contentmodel": "header (%Flow)* -(header|footer)",
  16. "tag": [
  17. "-",
  18. "-",
  19. ],
  20. "attributes": "Global",
  21. "dominterface": "HTMLElement",
  22. "rendering": [
  23. "Flow",
  24. "Bidirectional",
  25. ],
  26. "reference": [
  27. {
  28. "title": "HTML Living Standard. 4.3.8 The header element.",
  29. "href": "https://html.spec.whatwg.org/multipage/sections.html#the-header-element",
  30. "heading": "HTML Living Standard. 4.3.8 The header element",
  31. "sub": "Last Updated 27 August 2024",
  32. },
  33. {
  34. "title": "HTML Living Standard. 15 Rendering 15.3.3 Flow content.",
  35. "href": "https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3",
  36. "heading": "HTML Living Standard. 15 Rendering 15.3.3 Flow content",
  37. "sub": "Last Updated 27 August 2024",
  38. },
  39. {
  40. "title": "HTML 5.2 W3C Recommendation. 4.3.7 The header element. W3C Recommendation, 14 December 2017.",
  41. "href": "https://www.w3.org/TR/2017/REC-html52-20171214/sections.html#the-header-element",
  42. "heading": "HTML 5.2 W3C 勧告. 4.3.7 The header element",
  43. "sub": "W3C勧告、2017年12月14日",
  44. },
  45. {
  46. "title": "HTML 5.2 W3C Recommendation. 10.3.3. Flow content.",
  47. "href": "https://www.w3.org/TR/2017/REC-html52-20171214/rendering.html#non-replaced-elements-flow-content",
  48. "heading": "HTML 5.2 W3C 勧告. 10.3.3. Flow content",
  49. "sub": "W3C勧告、2017年12月14日",
  50. },
  51. {
  52. "title": "HTML 5.1 W3C Recommendation. 4.3.7 The header element. W3C Recommendation, 1 November 2016.",
  53. "href": "https://www.w3.org/TR/2016/REC-html51-20161101/sections.html#the-header-element",
  54. "heading": "HTML 5.1 W3C 勧告. 4.3.7 The header element",
  55. "sub": "W3C勧告、2016年11月1日",
  56. },
  57. {
  58. "title": "HTML 5.1 W3C Recommendation. 10.3.3. Flow content. W3C Recommendation, 1 November 2016.",
  59. "href": "https://www.w3.org/TR/2016/REC-html51-20161101/rendering.html#non-replaced-elements-flow-content",
  60. "heading": "HTML 5.1 W3C 勧告. 10.3.3. Flow content",
  61. "sub": "W3C勧告、2016年11月1日",
  62. },
  63. {
  64. "title": "HTML 5 W3C Recommendation. 4.3.7 The header element. W3C Recommendation, 28 October 2014.",
  65. "href": "https://www.w3.org/TR/2014/REC-html5-20141028/sections.html#the-header-element",
  66. "heading": "HTML 5 W3C 勧告. 4.3.7 The header element",
  67. "sub": "W3C勧告、2014年10月28日",
  68. },
  69. {
  70. "title": "HTML 5 W3C Recommendation. 10.3.3 Flow content. W3C Recommendation, 28 October 2014.",
  71. "href": "https://www.w3.org/TR/2014/REC-html5-20141028/rendering.html#flow-content-0",
  72. "heading": "HTML 5 W3C 勧告. 10.3.3 Flow content",
  73. "sub": "W3C勧告、2014年10月28日",
  74. },
  75. {
  76. "title": "MDN Web Docs. HTML <header>: The Header element.",
  77. "href": "https://developer.mozilla.org/ja/docs/Web/HTML/Element/header",
  78. "heading": "<header>: - HTML: ハイパーテキストマークアップ言語 | MDN",
  79. },
  80. ],
  81. "version": {
  82. "first": "HTML5",
  83. "latest": "HTML Living Standard",
  84. },
  85. }
  86. }

注意: 簡易に描画する為に、各項目の後ろに , を付与しています。JSON の形式では、末尾の項目の後には , は付けません。

最終確認日

2024-09-01


2.使用できるコンテキスト

header要素 は、
フローコンテンツを
受け入れる要素に
配置できます。

header要素が使用できるコンテキスト(Context文脈)は、フローコンテンツを受け入れる要素header要素を受け入れる要素コンテンツとしてです。ただし、祖先にheader要素, footer要素, address要素, dt要素, th要素があってはいけません。

フローコンテンツコンテンツの一部として配置できる要素で、header要素コンテンツの一部として配置できる要素は、以下の各要素です。

header要素コンテンツの一部としては配置できないけれども、他のフローコンテンツコンテンツの一部として配置できる要素は、以下の各要素です。


3.コンテンツモデル

header要素 は、
フローコンテンツを
配置できます。

header要素子や子孫としてどのようなコンテンツ(Content内容) が含まれなければならないかというと、0 以上のフローコンテンツです。ただし、子孫にheader要素, footer要素を持てません。


4.コンテンツ属性

header要素 は、
グローバル属性のみ、
設定できます。

header要素に指定することができる属性は、グローバル属性のみ、設定できます。


5.DOM インターフェイス

header要素
直接表す
プロパティは
ありません。

header要素を JavaScript などで操作するには、documentgetElementById()メソッドを用いてid属性で指定して、header要素を取得する方法があります。この時に取得できる値の形式はHTMLElement インターフェイスです。

他には、documentquerySelectorAll()メソッドを用いて要素セレクタheaderと指定して用いるとか、name属性があればdocumentgetElementsByName()メソッドを用いるとか、状況, 目的によりいろいろあります。

この例示の文字の色は、です。
header要素の文字の色
  1. <form onchange="document.getElementById('iheJs501').style.color = document.getElementById('iseJs502').value;">
  2. この例示の文字の色は、<select id="iseJs502">
  3. <option value="inherit">継承する</option>
  4. <option value="red"></option>
  5. <option value="blue"></option>
  6. </select>です。
  7. </form>
  8. <header id="iheJs501">
  9. header要素の文字の色
  10. </header>

header要素id属性を指定して、そのid属性で要素を取得する例です。例示では、cssのcolorを選択して設定する処理としています。例示で動的に表示する為に、フォームの内容が変更された時に処理するコードとしています。


6.レンダリング

  1. header {
  2. display: block;
  3. unicode-bidi: isolate;
  4. }

header要素ユーザーエージェントレベルスタイルシートデフォルトでは、displayプロパティの値は block であり、ブロックレベルブロックコンテナボックス(ブロックボックス) を生成します。

ブロックフォーマットコンテキストに参加して、ブロックフォーマットコンテキストを継承, 確立します。もし、インラインフォーマットコンテキストに参加するコンテンツのみを含む場合は、新しいインラインフォーマットコンテキストを確立します。次に、すべてのインラインコンテンツをラップするルートインラインボックスも生成します。

unicode-bidi は、置換されない要素のレンダリングでの Bidirectional text(双方向テキスト) に於いての期待される仕様の様です。


7.気を付ける点

区分化

header要素は、コンテンツを区分化(セクション化)するものではありません。 新しい区分(セクション)は導入されていません。 なんの為にその要素を用いるか、よく吟味して用いましょう。


8.付記