AttrとNodeの関係
DOMにはNodeとAttrというインタフェースがあります。
MDNの記事を見てて、何でAttrがないのと思って英語版に追加したのですが、 実は結構ややこしいことになってたそうです。
まず、W3CのDOM 4ではAttrはNodeを継承していません。
しかし、DOMの策定は実質的にはWHATWGが担っています。 こちらでは、AttrはNodeを継承しています。
しかし、Node treeには記載がありません。
ややこしいことになっています。
一度はAttrはNodeを継承しなくなったらしい
自分が見たのが、以下のIssueです。
ここでは最後に’againt’と書かれています。 ということはすなわち、一度は継承しなくなったらしいです。 ここからは推測ですが、以下のようになったと思われます。
- 2015/11以前: WHATWGでAttrはNodeを継承しなくなった。
- 2015/11: W3CのDOM 4でWHATWGの仕様通りにAttrはNodeを継承しなくなった。
- 2016/8: しかし問題があるので、AttrがNodeを継承するように戻った。
じゃあ、Node treeにないのは何でかというと、 それは以下のように、Issueとして上げられています。
なので、仕様上は残っているのが正しいようです。 もっとも、残ってるのは互換性のためだけで、使う理由はないと思います。