whatwg の目次から抽出
The document element
html
Document metadata
head
title
base
link
meta
style
Sections
body
article
section
nav
aside
h1
h2
h3
h4
h5
h6
hgroup
header
footer
address
Grouping content
p
hr
pre
blockquote
ol
ul
menu
li
dl
dt
dd
figure
figcaption
main
search
div
Text-level semantics
a
em
strong
small
s
cite
q
dfn
abbr
ruby
rt
rp
data
time
code
var
samp
kbd
sub
sup
i
b
u
mark
bdi
bdo
span
br
wbr
Edits
ins
del
Embedded content
picture
source
img
iframe
embed
object
video
audio
track
map
area
Tabular data
table
caption
colgroup
col
tbody
thead
tfoot
tr
td
th
Forms
form
label
input
button
select
datalist
optgroup
option
textarea
output
progress
meter
fieldset
legend
Interactive elements
details
summary
dialog
Scripting
script
noscript
template
slot
canvas
全部で 112 個
前回の 106 から 6 つ増えてるけど 実際の差分は少し
前回はセクション名をそのまま使っていたので h1 ~ h6 や sub と sup が 1 行にまとまっていたけど 今回はそれぞれを 1 行にしてる
追加されたのは search 要素
消えたのは param 要素
section 16 に廃止機能がまとまっていて param はこっちに移動したみたい
このセクションの中だと marquee だけが他の有効な要素と同じ感じでセクション名に載ってる
そのせいで自動的に取り出したときに marquee も含まれてた
仕様に載ってるんだしとリストに入れておこうとしたけど セクションの中身を見ると他にも param とか frame とかの廃止要素も色々
入れるならそれらも入れないとバランスが悪い気がするけど 廃止要素も全部探すのは面倒なので section 16 は除外
ついでなので Chrome 上でコンストラクタがある要素 (Chrome 112 時点)
const ctors = Object.getOwnPropertyNames(window).filter(x => x.match(/^HTML.+Element$/)).toSorted()
copy(ctors.join("\n"))
HTMLAnchorElement
HTMLAreaElement
HTMLAudioElement
HTMLBRElement
HTMLBaseElement
HTMLBodyElement
HTMLButtonElement
HTMLCanvasElement
HTMLDListElement
HTMLDataElement
HTMLDataListElement
HTMLDetailsElement
HTMLDialogElement
HTMLDirectoryElement
HTMLDivElement
HTMLEmbedElement
HTMLFieldSetElement
HTMLFontElement
HTMLFormElement
HTMLFrameElement
HTMLFrameSetElement
HTMLHRElement
HTMLHeadElement
HTMLHeadingElement
HTMLHtmlElement
HTMLIFrameElement
HTMLImageElement
HTMLInputElement
HTMLLIElement
HTMLLabelElement
HTMLLegendElement
HTMLLinkElement
HTMLMapElement
HTMLMarqueeElement
HTMLMediaElement
HTMLMenuElement
HTMLMetaElement
HTMLMeterElement
HTMLModElement
HTMLOListElement
HTMLObjectElement
HTMLOptGroupElement
HTMLOptionElement
HTMLOutputElement
HTMLParagraphElement
HTMLParamElement
HTMLPictureElement
HTMLPreElement
HTMLProgressElement
HTMLQuoteElement
HTMLScriptElement
HTMLSelectElement
HTMLSlotElement
HTMLSourceElement
HTMLSpanElement
HTMLStyleElement
HTMLTableCaptionElement
HTMLTableCellElement
HTMLTableColElement
HTMLTableElement
HTMLTableRowElement
HTMLTableSectionElement
HTMLTemplateElement
HTMLTextAreaElement
HTMLTimeElement
HTMLTitleElement
HTMLTrackElement
HTMLUListElement
HTMLUnknownElement
HTMLVideoElement
70 種類
一部要素は共通のコンストラクタだし↓
document.createElement("del").constructor.name
// 'HTMLModElement'
document.createElement("ins").constructor.name
// 'HTMLModElement'
独自のコンストラクタを持たない要素もあるし↓
document.createElement("b").constructor.name
// 'HTMLElement'
document.createElement("article").constructor.name
// 'HTMLElement'
HTMLUnknownElement も含まれてるしで HTML タグの数と一致はしてない