// Up-to-date as of 2013-04-09. | |
var miscElements = { | |
// "The root element" section | |
html: { | |
// Obsolete | |
version: "string", | |
}, | |
// "Scripting" section | |
script: { | |
src: "url", | |
type: "string", | |
charset: "string", | |
// TODO: async attribute (complicated). | |
defer: "boolean", | |
crossOrigin: {type: "enum", keywords: ["anonymous", "use-credentials"], nonCanon:{"": "anonymous"}}, | |
}, | |
noscript: {}, | |
// "Edits" section | |
ins: { | |
cite: "url", | |
dateTime: "string", | |
}, | |
del: { | |
cite: "url", | |
dateTime: "string", | |
}, | |
// "Interactive elements" section | |
details: { | |
open: "boolean", | |
}, | |
summary: {}, | |
menu: { | |
// Conforming | |
//TODO: check that missing value default is popup if parent's type is popup | |
type: {type: "enum", keywords:["popup", "toolbar"], defaultVal: "toolbar"}, | |
label: "string", | |
// Obsolete | |
compact: "boolean", | |
}, | |
menuitem: { | |
type: {type: "enum", keywords: ["command", "checkbox", "radio"], defaultVal: "command"}, | |
label: "string", | |
icon: "url", | |
disabled: "boolean", | |
checked: "boolean", | |
radiogroup: "string", | |
"default": "boolean", | |
}, | |
dialog: { | |
open: "boolean", | |
}, | |
// Global attributes should exist even on unknown elements | |
undefinedelement: {}, | |
}; | |
mergeElements(miscElements); |