HTML5 の各タグの constructor を調べる

# 概要

* HTML5 で使用可能なタグから生成された DOM の constructor 名を調べて見ました。

# HTMLElement 以外を継承しているもの

|Tag Name|HTMLElement|
|--------|-----------|
|&lt;A&gt;|HTMLAnchorElement|
|&lt;AREA&gt;|HTMLAreaElement|
|&lt;AUDIO&gt;|HTMLAudioElement|
|&lt;BASE&gt;|HTMLBaseElement|
|&lt;BLOCKQUOTE&gt;|HTMLQuoteElement|
|&lt;BODY&gt;|HTMLBodyElement|
|&lt;BR&gt;|HTMLBRElement|
|&lt;BUTTON&gt;|HTMLButtonElement|
|&lt;CANVAS&gt;|HTMLCanvasElement|
|&lt;CAPTION&gt;|HTMLTableCaptionElement|
|&lt;COL&gt;|HTMLTableColElement|
|&lt;COLGROUP&gt;|HTMLTableColElement|
|&lt;DATA&gt;|HTMLDataElement|
|&lt;DATALIST&gt;|HTMLDataListElement|
|&lt;DEL&gt;|HTMLModElement|
|&lt;DETAILS&gt;|HTMLDetailsElement|
|&lt;DIV&gt;|HTMLDivElement|
|&lt;DL&gt;|HTMLDListElement|
|&lt;EMBED&gt;|HTMLEmbedElement|
|&lt;FIELDSET&gt;|HTMLFieldSetElement|
|&lt;FORM&gt;|HTMLFormElement|
|&lt;H1&gt;|HTMLHeadingElement|
|&lt;H2&gt;|HTMLHeadingElement|
|&lt;H3&gt;|HTMLHeadingElement|
|&lt;H4&gt;|HTMLHeadingElement|
|&lt;H5&gt;|HTMLHeadingElement|
|&lt;H6&gt;|HTMLHeadingElement|
|&lt;HEAD&gt;|HTMLHeadElement|
|&lt;HR&gt;|HTMLHRElement|
|&lt;HTML&gt;|HTMLHtmlElement|
|&lt;IFRAME&gt;|HTMLIFrameElement|
|&lt;IMG&gt;|HTMLImageElement|
|&lt;INPUT&gt;|HTMLInputElement|
|&lt;INS&gt;|HTMLModElement|
|&lt;LABEL&gt;|HTMLLabelElement|
|&lt;LEGEND&gt;|HTMLLegendElement|
|&lt;LI&gt;|HTMLLIElement|
|&lt;LINK&gt;|HTMLLinkElement|
|&lt;MAP&gt;|HTMLMapElement|
|&lt;MENU&gt;|HTMLMenuElement|
|&lt;META&gt;|HTMLMetaElement|
|&lt;METER&gt;|HTMLMeterElement|
|&lt;OBJECT&gt;|HTMLObjectElement|
|&lt;OL&gt;|HTMLOListElement|
|&lt;OPTGROUP&gt;|HTMLOptGroupElement|
|&lt;OPTION&gt;|HTMLOptionElement|
|&lt;OUTPUT&gt;|HTMLOutputElement|
|&lt;P&gt;|HTMLParagraphElement|
|&lt;PARAM&gt;|HTMLParamElement|
|&lt;PICTURE&gt;|HTMLPictureElement|
|&lt;PRE&gt;|HTMLPreElement|
|&lt;PROGRESS&gt;|HTMLProgressElement|
|&lt;Q&gt;|HTMLQuoteElement|
|&lt;SCRIPT&gt;|HTMLScriptElement|
|&lt;SELECT&gt;|HTMLSelectElement|
|&lt;SLOT&gt;|HTMLSlotElement|
|&lt;SOURCE&gt;|HTMLSourceElement|
|&lt;SPAN&gt;|HTMLSpanElement|
|&lt;STYLE&gt;|HTMLStyleElement|
|&lt;TABLE&gt;|HTMLTableElement|
|&lt;TBODY&gt;|HTMLTableSectionElement|
|&lt;TD&gt;|HTMLTableCellElement|
|&lt;TEMPLATE&gt;|HTMLTemplateElement|
|&lt;TEXTAREA&gt;|HTMLTextAreaElement|
|&lt;TFOOT&gt;|HTMLTableSectionElement|
|&lt;TH&gt;|HTMLTableCellElement|
|&lt;THEAD&gt;|HTMLTableSectionElement|
|&lt;TIME&gt;|HTMLTimeElement|
|&lt;TITLE&gt;|HTMLTitleElement|
|&lt;TR&gt;|HTMLTableRowElement|
|&lt;TRACK&gt;|HTMLTrackElement|
|&lt;UL&gt;|HTMLUListElement|
|&lt;VIDEO&gt;|HTMLVideoElement|



# HTMLElement だったもの。

|Tag Name|HTMLElement|
|--------|-----------|
|&lt;ABBR&gt;|HTMLElement|
|&lt;ADDRESS&gt;|HTMLElement|
|&lt;ARTICLE&gt;|HTMLElement|
|&lt;ASIDE&gt;|HTMLElement|
|&lt;B&gt;|HTMLElement|
|&lt;BDI&gt;|HTMLElement|
|&lt;BDO&gt;|HTMLElement|
|&lt;CITE&gt;|HTMLElement|
|&lt;CODE&gt;|HTMLElement|
|&lt;DD&gt;|HTMLElement|
|&lt;DFN&gt;|HTMLElement|
|&lt;DT&gt;|HTMLElement|
|&lt;EM&gt;|HTMLElement|
|&lt;FIGCAPTION&gt;|HTMLElement|
|&lt;FIGURE&gt;|HTMLElement|
|&lt;FOOTER&gt;|HTMLElement|
|&lt;HEADER&gt;|HTMLElement|
|&lt;I&gt;|HTMLElement|
|&lt;KBD&gt;|HTMLElement|
|&lt;MAIN&gt;|HTMLElement|
|&lt;MARK&gt;|HTMLElement|
|&lt;NAV&gt;|HTMLElement|
|&lt;NOSCRIPT&gt;|HTMLElement|
|&lt;RB&gt;|HTMLElement|
|&lt;RP&gt;|HTMLElement|
|&lt;RT&gt;|HTMLElement|
|&lt;RTC&gt;|HTMLElement|
|&lt;RUBY&gt;|HTMLElement|
|&lt;S&gt;|HTMLElement|
|&lt;SAMP&gt;|HTMLElement|
|&lt;SECTION&gt;|HTMLElement|
|&lt;SMALL&gt;|HTMLElement|
|&lt;STRONG&gt;|HTMLElement|
|&lt;SUB&gt;|HTMLElement|
|&lt;SUMMARY&gt;|HTMLElement|
|&lt;SUP&gt;|HTMLElement|
|&lt;U&gt;|HTMLElement|
|&lt;VAR&gt;|HTMLElement|
|&lt;WBR&gt;|HTMLElement|

# HTMLUnknownElement だったもの。

* HTML リファレンスサイトで見たものの、Chrome では HTMLUnknownElement と表示されました。

|Tag Name|HTMLElement|
|--------|-----------|
|~~&lt;COMMAND&gt;~~　HTML5で廃止|HTMLUnknownElement|
|&lt;KEYGEN&gt;|HTMLUnknownElement|

# ご協力のお願い

* 抜けてるタグや改定で追加・廃止されたものがあった場合は随時編集しますので、ご連絡いただけると嬉しいです。

# ノート

* HTMLDivElement の実装は何もない、とどこかの記事で見ました。（要再確認）

* HTMLElement を継承しているものは特別な機能をもたず、以下のいずれかの役割を持ちます。

    (1) ディフォルトの CSS を持たせる。（&lt;sup&gt;, &lt;sub&gt; など）
    (2) HTML にセマンティックな意味を持たせる。（&lt;nav&gt; など）

* 近い将来に私 Stew Eucen の GitHub で公開されるライブラリを見た時、この記事が意味するところが判明するでしょう。お楽しみに。