diff --git a/xml/relaxng/src/resources/html5-schema/html5/applications.rnc b/xml/relaxng/src/resources/html5-schema/html5/applications.rnc
index 2a592fbbd781..618814d33166 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/applications.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/applications.rnc
@@ -91,8 +91,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& progress.attrs.max?
& ( common.attrs.aria.implicit.progressbar
| common.attrs.aria.role.progressbar
- | common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
)?
)
progress.attrs.value =
@@ -371,40 +369,7 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& details.attrs.open?
& ( common.attrs.aria.implicit.group # aria-expanded must be true if open attr present; check by assertions
- | common.attrs.aria.role.alertdialog
- | common.attrs.aria.role.banner
- | common.attrs.aria.role.button
- | common.attrs.aria.role.combobox
- | common.attrs.aria.role.dialog
- | common.attrs.aria.role.directory
| common.attrs.aria.role.group
- | common.attrs.aria.role.heading
- | common.attrs.aria.role.img
- | common.attrs.aria.role.link
- | common.attrs.aria.role.list
- | common.attrs.aria.role.listbox
- | common.attrs.aria.role.listitem
- | common.attrs.aria.role.log
- | common.attrs.aria.role.marquee
- | common.attrs.aria.role.menu
- | common.attrs.aria.role.menubar
- | common.attrs.aria.role.note
- | common.attrs.aria.role.status
- | common.attrs.aria.role.tab
- | common.attrs.aria.role.tablist
- | common.attrs.aria.role.tabpanel
- | common.attrs.aria.role.toolbar
- | common.attrs.aria.role.tree
- | common.attrs.aria.role.treeitem
- | common.attrs.aria.landmark.application
- | common.attrs.aria.landmark.article
- | common.attrs.aria.landmark.complementary
- | common.attrs.aria.landmark.contentinfo
- | common.attrs.aria.landmark.document
- | common.attrs.aria.landmark.form
- | common.attrs.aria.landmark.main
- | common.attrs.aria.landmark.navigation
- | common.attrs.aria.landmark.search
)?
)
details.attrs.open =
@@ -424,8 +389,7 @@ datatypes w = "http://whattf.org/datatype-draft"
element summary { summary.inner & summary.attrs }
summary.attrs =
( common.attrs
- & ( common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
+ & ( common.attrs.aria.implicit.button
| common.attrs.aria.role.button
)?
)
diff --git a/xml/relaxng/src/resources/html5-schema/html5/aria.rnc b/xml/relaxng/src/resources/html5-schema/html5/aria.rnc
index 3e724a1b5d84..61e007bacb82 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/aria.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/aria.rnc
@@ -53,6 +53,9 @@ common.attrs.aria.implicit.dialog |=
common.attrs.aria.implicit.document |=
( aria.state.expanded? )
+common.attrs.aria.implicit.form |=
+ ( aria.state.expanded? )
+
common.attrs.aria.implicit.group |=
( aria.state.expanded?
& aria.prop.activedescendant?
@@ -1108,6 +1111,17 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
common.attrs.aria |= aria.status
common.attrs.aria.role.status |= aria.status
+## switch
+ aria.switch =
+ ( aria.role.switch
+ & aria.state.checked #required!
+ )
+ aria.role.switch =
+ attribute role { string "switch" }
+
+ common.attrs.aria |= aria.switch
+ common.attrs.aria.role.switch |= aria.switch
+
## tab
aria.tab =
( aria.role.tab
diff --git a/xml/relaxng/src/resources/html5-schema/html5/block.rnc b/xml/relaxng/src/resources/html5-schema/html5/block.rnc
index bc2b3a131210..6d0eb0d80df1 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/block.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/block.rnc
@@ -26,10 +26,7 @@ datatypes w = "http://whattf.org/datatype-draft"
element hr { hr.inner & hr.attrs }
hr.attrs =
( common.attrs
- & ( common.attrs.aria.role.separator
- | common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
- )?
+ & common.attrs.aria.role.separator?
)
hr.inner =
( empty )
@@ -154,9 +151,11 @@ datatypes w = "http://whattf.org/datatype-draft"
& oli.attrs.value?
& ( common.attrs.aria.implicit.listitem
| common.attrs.aria.role.listitem
+ | common.attrs.aria.role.menuitem
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.option
+ | common.attrs.aria.role.tab
| common.attrs.aria.role.treeitem
| common.attrs.aria.role.separator
| common.attrs.aria.role.presentation
@@ -178,7 +177,9 @@ datatypes w = "http://whattf.org/datatype-draft"
element dl { dl.inner & dl.attrs }
dl.attrs =
( common.attrs
- & common.attrs.aria?
+ & ( common.attrs.aria.implicit.list
+ | common.attrs.aria.role.list
+ )?
)
dl.inner =
( ( ( dt.elem
diff --git a/xml/relaxng/src/resources/html5-schema/html5/common.rnc b/xml/relaxng/src/resources/html5-schema/html5/common.rnc
index e87d49bd2c3f..68d9acc5f28f 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/common.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/common.rnc
@@ -390,6 +390,18 @@ common.attrs.other =
common.data.source.size.list =
w:source-size-list
+## Subresource Integrity
+ common.data.integrity =
+ w:integrity-metadata
+
+## Content Security Policy
+ common.data.content-security-policy =
+ w:content-security-policy
+
+## List of sandbox keywords
+ common.data.sandbox-allow-list =
+ w:string "" | w:sandbox-allow-list
+
## Microdata Properties
common.data.microdata-properties =
list { w:microdata-property+ }
@@ -458,6 +470,7 @@ common.attrs.aria.role.separator = ( notAllowed )
common.attrs.aria.role.slider = ( notAllowed )
common.attrs.aria.role.spinbutton = ( notAllowed )
common.attrs.aria.role.status = ( notAllowed )
+common.attrs.aria.role.switch = ( notAllowed )
common.attrs.aria.role.tab = ( notAllowed )
common.attrs.aria.role.tablist = ( notAllowed )
common.attrs.aria.role.tabpanel = ( notAllowed )
@@ -475,6 +488,7 @@ common.attrs.aria.implicit.complementary = ( notAllowed )
common.attrs.aria.implicit.contentinfo = ( notAllowed )
common.attrs.aria.implicit.dialog = ( notAllowed )
common.attrs.aria.implicit.document = ( notAllowed )
+common.attrs.aria.implicit.form = ( notAllowed )
common.attrs.aria.implicit.group = ( notAllowed )
common.attrs.aria.implicit.heading = ( notAllowed )
common.attrs.aria.implicit.img = ( notAllowed )
diff --git a/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc b/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc
index ff64969e1f1a..33e8ff705f9b 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/core-scripting.rnc
@@ -15,6 +15,8 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& script.attrs.type?
& script.attrs.language? # restricted in Schematron
+ & script.attrs.integrity?
+ & script.attrs.nonce?
& embedded.content.attrs.crossorigin?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
@@ -30,6 +32,8 @@ datatypes w = "http://whattf.org/datatype-draft"
& script.attrs.type?
& script.attrs.charset?
& script.attrs.language? # restricted in Schematron
+ & script.attrs.integrity?
+ & script.attrs.nonce?
& embedded.content.attrs.crossorigin?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
@@ -59,6 +63,14 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute language {
string
}
+ script.attrs.integrity =
+ attribute integrity {
+ common.data.integrity
+ }
+ script.attrs.nonce =
+ attribute nonce{
+ string
+ }
script.inner.embedded =
( common.inner.anything )
script.inner.imported =
@@ -109,17 +121,22 @@ datatypes w = "http://whattf.org/datatype-draft"
common.attrs.scripting &=
( scripting.attr.onabort?
+ & scripting.attr.onautocomplete?
+ & scripting.attr.onautocompleteerror?
& scripting.attr.onblur?
+ & scripting.attr.oncancel?
& scripting.attr.oncanplay?
& scripting.attr.oncanplaythrough?
& scripting.attr.onchange?
& scripting.attr.onclick?
& scripting.attr.onclose?
+ & scripting.attr.oncuechange?
& scripting.attr.oncontextmenu?
& scripting.attr.ondblclick?
& scripting.attr.ondrag?
& scripting.attr.ondragend?
& scripting.attr.ondragenter?
+ & scripting.attr.ondragexit?
& scripting.attr.ondragleave?
& scripting.attr.ondragover?
& scripting.attr.ondragstart?
@@ -139,26 +156,31 @@ datatypes w = "http://whattf.org/datatype-draft"
& scripting.attr.onloadedmetadata?
& scripting.attr.onloadstart?
& scripting.attr.onmousedown?
+ & scripting.attr.onmouseenter?
+ & scripting.attr.onmouseleave?
& scripting.attr.onmousemove?
& scripting.attr.onmouseout?
& scripting.attr.onmouseover?
& scripting.attr.onmouseup?
- & scripting.attr.onmousewheel?
+ & scripting.attr.onwheel?
& scripting.attr.onpause?
& scripting.attr.onplay?
& scripting.attr.onplaying?
& scripting.attr.onprogress?
& scripting.attr.onratechange?
& scripting.attr.onreset?
+ & scripting.attr.onresize?
& scripting.attr.onscroll?
& scripting.attr.onseeked?
& scripting.attr.onseeking?
& scripting.attr.onselect?
& scripting.attr.onshow?
+ & scripting.attr.onsort?
& scripting.attr.onstalled?
& scripting.attr.onsubmit?
& scripting.attr.onsuspend?
& scripting.attr.ontimeupdate?
+ & scripting.attr.ontoggle?
& scripting.attr.onvolumechange?
& scripting.attr.onwaiting?
)
@@ -167,10 +189,16 @@ datatypes w = "http://whattf.org/datatype-draft"
scripting.attr.onabort =
attribute onabort { common.data.functionbody }
+ scripting.attr.onautocomplete =
+ attribute onautocomplete { common.data.functionbody }
+ scripting.attr.onautocompleteerror =
+ attribute onautocompleteerror { common.data.functionbody }
scripting.attr.onblur =
attribute onblur { common.data.functionbody }
scripting.attr.oncanplay =
attribute oncanplay { common.data.functionbody }
+ scripting.attr.oncancel =
+ attribute oncancel { common.data.functionbody }
scripting.attr.oncanplaythrough =
attribute oncanplaythrough { common.data.functionbody }
scripting.attr.onchange =
@@ -181,6 +209,8 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onclose { common.data.functionbody }
scripting.attr.oncontextmenu =
attribute oncontextmenu { common.data.functionbody }
+ scripting.attr.oncuechange =
+ attribute oncuechange { common.data.functionbody }
scripting.attr.ondblclick =
attribute ondblclick { common.data.functionbody }
scripting.attr.ondrag =
@@ -189,6 +219,8 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute ondragend { common.data.functionbody }
scripting.attr.ondragenter =
attribute ondragenter { common.data.functionbody }
+ scripting.attr.ondragexit =
+ attribute ondragexit { common.data.functionbody }
scripting.attr.ondragleave =
attribute ondragleave { common.data.functionbody }
scripting.attr.ondragover =
@@ -231,6 +263,10 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onloadstart { common.data.functionbody }
scripting.attr.onmousedown =
attribute onmousedown { common.data.functionbody }
+ scripting.attr.onmouseenter =
+ attribute onmouseenter { common.data.functionbody }
+ scripting.attr.onmouseleave =
+ attribute onmouseleave { common.data.functionbody }
scripting.attr.onmousemove =
attribute onmousemove { common.data.functionbody }
scripting.attr.onmouseout =
@@ -239,8 +275,8 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onmouseover { common.data.functionbody }
scripting.attr.onmouseup =
attribute onmouseup { common.data.functionbody }
- scripting.attr.onmousewheel =
- attribute onmousewheel { common.data.functionbody }
+ scripting.attr.onwheel =
+ attribute onwheel { common.data.functionbody }
scripting.attr.onpause =
attribute onpause { common.data.functionbody }
scripting.attr.onplay =
@@ -253,6 +289,8 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onratechange { common.data.functionbody }
scripting.attr.onreset =
attribute onreset { common.data.functionbody }
+ scripting.attr.onresize =
+ attribute onresize { common.data.functionbody }
scripting.attr.onscroll =
attribute onscroll { common.data.functionbody }
scripting.attr.onseeked =
@@ -263,6 +301,8 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onselect { common.data.functionbody }
scripting.attr.onshow =
attribute onshow { common.data.functionbody }
+ scripting.attr.onsort =
+ attribute onsort { common.data.functionbody }
scripting.attr.onstalled =
attribute onstalled { common.data.functionbody }
scripting.attr.onsubmit =
@@ -271,6 +311,8 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onsuspend { common.data.functionbody }
scripting.attr.ontimeupdate =
attribute ontimeupdate { common.data.functionbody }
+ scripting.attr.ontoggle =
+ attribute ontoggle { common.data.functionbody }
scripting.attr.onvolumechange =
attribute onvolumechange { common.data.functionbody }
scripting.attr.onwaiting =
diff --git a/xml/relaxng/src/resources/html5-schema/html5/data.rnc b/xml/relaxng/src/resources/html5-schema/html5/data.rnc
index acb79640bff6..991f6987dfc3 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/data.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/data.rnc
@@ -60,8 +60,8 @@ datatypes w = "http://whattf.org/datatype-draft"
& meter.attrs.high?
& meter.attrs.max?
& meter.attrs.optimum?
- & ( common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
+ & ( common.attrs.aria.implicit.progressbar
+ | common.attrs.aria.role.progressbar
)?
)
meter.attrs.value =
diff --git a/xml/relaxng/src/resources/html5-schema/html5/embed.rnc b/xml/relaxng/src/resources/html5-schema/html5/embed.rnc
index 1b20ba86c373..a46b9828dfd0 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/embed.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/embed.rnc
@@ -169,17 +169,22 @@ namespace local = ""
| dropzone
| hidden
| onabort
+ | onautocomplete
+ | onautocompleteerror
| onblur
+ | oncancel
| oncanplay
| oncanplaythrough
| onchange
| onclick
| onclose
| oncontextmenu
+ | oncuechange
| ondblclick
| ondrag
| ondragend
| ondragenter
+ | ondragexit
| ondragleave
| ondragover
| ondragstart
@@ -199,41 +204,33 @@ namespace local = ""
| onloadedmetadata
| onloadstart
| onmousedown
+ | onmouseenter
+ | onmouseleave
| onmousemove
| onmouseout
| onmouseover
| onmouseup
- | onmousewheel
+ | onwheel
| onpause
| onplay
| onplaying
| onprogress
| onratechange
| onreset
+ | onresize
| onscroll
| onseeked
| onseeking
| onselect
| onshow
+ | onsort
| onstalled
| onsubmit
| onsuspend
| ontimeupdate
+ | ontoggle
| onvolumechange
| onwaiting
- | onafterprint
- | onbeforeprint
- | onbeforeunload
- | onhashchange
- | onmessage
- | onoffline
- | ononline
- | onpopstate
- | onredo
- | onresize
- | onstorage
- | onundo
- | onunload
| role
| aria-atomic
| aria-busy
@@ -465,152 +462,9 @@ namespace local = ""
w:string "seamless" | w:string ""
} & v5only
iframe.attrs.sandbox =
- attribute sandbox
- { list
- { ( w:string "allow-top-navigation" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-scripts" )?
- }
- | list
- { ( w:string "allow-top-navigation" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-forms" )?
- }
- | list
- { ( w:string "allow-top-navigation" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-scripts" )?
- }
- | list
- { ( w:string "allow-top-navigation" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-same-origin" )?
- }
- | list
- { ( w:string "allow-top-navigation" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-forms" )?
- }
- | list
- { ( w:string "allow-top-navigation" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-same-origin" )?
- }
- | list
- { ( w:string "allow-same-origin" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-scripts" )?
- }
- | list
- { ( w:string "allow-same-origin" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-forms" )?
- }
- | list
- { ( w:string "allow-forms" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-scripts" )?
- }
- | list
- { ( w:string "allow-forms" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-same-origin" )?
- }
- | list
- { ( w:string "allow-scripts" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-forms" )?
- }
- | list
- { ( w:string "allow-scripts" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-same-origin" )?
- }
- | list
- { ( w:string "allow-same-origin" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-scripts" )?
- }
- | list
- { ( w:string "allow-same-origin" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-forms" )?
- }
- | list
- { ( w:string "allow-forms" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-scripts" )?
- }
- | list
- { ( w:string "allow-forms" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-same-origin" )?
- }
- | list
- { ( w:string "allow-scripts" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-forms" )?
- }
- | list
- { ( w:string "allow-scripts" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-top-navigation" )?
- , ( w:string "allow-same-origin" )?
- }
- | list
- { ( w:string "allow-same-origin" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-top-navigation" )?
- }
- | list
- { ( w:string "allow-same-origin" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-top-navigation" )?
- }
- | list
- { ( w:string "allow-forms" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-top-navigation" )?
- }
- | list
- { ( w:string "allow-forms" )?
- , ( w:string "allow-scripts" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-top-navigation" )?
- }
- | list
- { ( w:string "allow-scripts" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-top-navigation" )?
- }
- | list
- { ( w:string "allow-scripts" )?
- , ( w:string "allow-forms" )?
- , ( w:string "allow-same-origin" )?
- , ( w:string "allow-top-navigation" )?
- }
- } & v5only
+ attribute sandbox {
+ common.data.sandbox-allow-list
+ } & v5only
iframe.attrs.allowfullscreen =
attribute allowfullscreen {
w:string "allowfullscreen" | w:string ""
diff --git a/xml/relaxng/src/resources/html5-schema/html5/meta.rnc b/xml/relaxng/src/resources/html5-schema/html5/meta.rnc
index 92aaf5e09f35..ff67c2d4e87d 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/meta.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/meta.rnc
@@ -68,7 +68,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& body.attrs.onpagehide?
& body.attrs.onpageshow?
& body.attrs.onpopstate?
- & body.attrs.onresize?
& body.attrs.onstorage?
& body.attrs.onunload?
)
@@ -159,6 +158,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.attrs.other
& link.attrs.href
& link.attrs.rel
+ & link.attrs.integrity?
& shared-hyperlink.attrs.hreflang?
& shared-hyperlink.attrs.media?
& shared-hyperlink.attrs.type?
@@ -178,6 +178,10 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute rel {
w:link-rel
}
+ link.attrs.integrity =
+ attribute integrity {
+ common.data.integrity
+ }
link.attrs.sizes =
attribute sizes {
w:string "any" | common.data.sizes
@@ -195,6 +199,7 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& style.attrs.type?
& style.attrs.media?
+ & style.attrs.nonce?
# style.attrs.title included in common.attrs
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
@@ -208,6 +213,10 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute media {
common.data.mediaquery
}
+ style.attrs.nonce =
+ attribute nonce{
+ string
+ }
style.inner =
( common.inner.anything )
@@ -315,6 +324,31 @@ datatypes w = "http://whattf.org/datatype-draft"
# if the definition is
# reused in another language
+## Content Security Policy pragma directive:
+
+ meta.http-equiv.content-security-policy.elem =
+ element meta { meta.inner & meta.http-equiv.content-security-policy.attrs }
+ meta.http-equiv.content-security-policy.attrs =
+ ( common.attrs.basic
+ & common.attrs.i18n
+ & common.attrs.present
+ & common.attrs.other
+ & meta.http-equiv.attrs.http-equiv.content-security-policy
+ & meta.http-equiv.attrs.content.content-security-policy
+ & ( common.attrs.aria.role.presentation
+ | common.attrs.aria.role.menuitem
+ )?
+ )
+ meta.http-equiv.attrs.http-equiv.content-security-policy =
+ attribute http-equiv {
+ w:string "content-security-policy"
+ }
+ meta.http-equiv.attrs.content.content-security-policy =
+ attribute content {
+ common.data.content-security-policy
+ }
+ common.elem.metadata |= meta.http-equiv.content-security-policy.elem
+
## "x-ua-compatible" pragma directive:
meta.http-equiv.x-ua-compatible.elem =
diff --git a/xml/relaxng/src/resources/html5-schema/html5/phrase.rnc b/xml/relaxng/src/resources/html5-schema/html5/phrase.rnc
index 349cdae27941..fc61bf71901c 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/phrase.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/phrase.rnc
@@ -30,6 +30,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.menuitem
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
+ | common.attrs.aria.role.switch
| common.attrs.aria.role.tab
| common.attrs.aria.role.treeitem
)?
diff --git a/xml/relaxng/src/resources/html5-schema/html5/structural.rnc b/xml/relaxng/src/resources/html5-schema/html5/structural.rnc
index 9e72b5f14064..410f34d27c24 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/structural.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/structural.rnc
@@ -37,8 +37,6 @@
( common.attrs
& ( common.attrs.aria.implicit.navigation
| common.attrs.aria.landmark.navigation
- | common.attrs.aria.role.menuitem
- | common.attrs.aria.role.presentation
)?
)
nav.inner =
@@ -95,6 +93,7 @@
( common.attrs
& ( common.attrs.aria.implicit.banner
| common.attrs.aria.landmark.banner
+ | common.attrs.aria.role.group
| common.attrs.aria.role.presentation
)?
)
@@ -111,6 +110,7 @@
( common.attrs
& ( common.attrs.aria.implicit.contentinfo
| common.attrs.aria.landmark.contentinfo
+ | common.attrs.aria.role.group
| common.attrs.aria.role.presentation
)?
)
diff --git a/xml/relaxng/src/resources/html5-schema/html5/web-forms.rnc b/xml/relaxng/src/resources/html5-schema/html5/web-forms.rnc
index 3f89143415ca..c58e652485fd 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/web-forms.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/web-forms.rnc
@@ -114,6 +114,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& ( common.attrs.aria.implicit.checkbox
| common.attrs.aria.role.checkbox
| common.attrs.aria.role.menuitemcheckbox
+ | common.attrs.aria.role.switch
)?
)
input.checkbox.attrs.type =
@@ -169,6 +170,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.radio
+ | common.attrs.aria.role.switch
)?
)
input.button.attrs.type =
@@ -293,6 +295,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.radio
+ | common.attrs.aria.role.switch
)?
)
input.image.attrs.type =
@@ -322,8 +325,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-form.attrs.readonly?
& textarea.attrs.rows-and-cols-wf1
& ( common.attrs.aria.implicit.textbox
- | common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
| common.attrs.aria.role.textbox
)?
#FIXME onfocus, onblur, onselect,onchange
@@ -364,10 +365,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& option.attrs.value?
& ( common.attrs.aria.implicit.option
| common.attrs.aria.role.option
- | common.attrs.aria.role.menuitem
- | common.attrs.aria.role.menuitemradio
- | common.attrs.aria.role.menuitemcheckbox
- | common.attrs.aria.role.presentation
)?
)
option.attrs.selected =
@@ -418,9 +415,6 @@ datatypes w = "http://whattf.org/datatype-draft"
# FIXME onfocus, onblur, onchange
& ( common.attrs.aria.implicit.listbox
| common.attrs.aria.role.listbox # aria-multiselectable depends on "multiple" value; check in assertions
- | common.attrs.aria.role.menu
- | common.attrs.aria.role.presentation
- | common.attrs.aria.role.menuitem
)?
)
select.attrs.size =
@@ -459,6 +453,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& button.attrs.value?
& ( common.attrs.aria.implicit.button
| common.attrs.aria.role.button
+ | common.attrs.aria.role.checkbox
| common.attrs.aria.role.link
| common.attrs.aria.role.menuitem
| common.attrs.aria.role.menuitemcheckbox
@@ -484,11 +479,13 @@ datatypes w = "http://whattf.org/datatype-draft"
& button.attrs.value? #REVISIT I guess this still affects the DOM
& ( common.attrs.aria.implicit.button
| common.attrs.aria.role.button
+ | common.attrs.aria.role.checkbox
| common.attrs.aria.role.link
| common.attrs.aria.role.menuitem
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.radio
+ | common.attrs.aria.role.switch
)?
)
button.reset.attrs.type =
@@ -509,11 +506,13 @@ datatypes w = "http://whattf.org/datatype-draft"
& button.attrs.value? #REVISIT I guess this still affects the DOM
& ( common.attrs.aria.implicit.button
| common.attrs.aria.role.button
+ | common.attrs.aria.role.checkbox
| common.attrs.aria.role.link
| common.attrs.aria.role.menuitem
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.radio
+ | common.attrs.aria.role.switch
)?
)
button.button.attrs.type =
@@ -536,7 +535,11 @@ datatypes w = "http://whattf.org/datatype-draft"
& form.attrs.enctype?
& common-form.attrs.name?
& form.attrs.accept-charset?
- & common.attrs.aria?
+ & ( common.attrs.aria.implicit.form
+ | common.attrs.aria.landmark.form
+ | common.attrs.aria.role.search
+ | common.attrs.aria.role.presentation
+ )?
)
form.attrs.action =
attribute action {
diff --git a/xml/relaxng/src/resources/html5-schema/html5/web-forms2.rnc b/xml/relaxng/src/resources/html5-schema/html5/web-forms2.rnc
index 9aef196190eb..ebd3ee4533f1 100644
--- a/xml/relaxng/src/resources/html5-schema/html5/web-forms2.rnc
+++ b/xml/relaxng/src/resources/html5-schema/html5/web-forms2.rnc
@@ -83,6 +83,11 @@ datatypes w = "http://whattf.org/datatype-draft"
string
}
+ shared-form.attrs.minlength =
+ attribute minlength {
+ common.data.integer.non-negative
+ }
+
## Shared attributes for
shared-input.attrs =
@@ -90,6 +95,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-form.attrs.autofocus?
& input.attrs.list?
& shared-form.attrs.maxlength?
+ & shared-form.attrs.minlength?
& shared-form.attrs.pattern?
& shared-form.attrs.placeholder?
& shared-form.attrs.readonly?
@@ -133,6 +139,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-form.attrs.required?
& shared-form.attrs.placeholder?
& shared-form.attrs.inputmode?
+ & shared-form.attrs.minlength?
)
## Password Field: , Extensions
@@ -144,6 +151,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-form.attrs.pattern?
& shared-form.attrs.placeholder?
& shared-form.attrs.required?
+ & shared-form.attrs.minlength?
)
## Checkbox , Extensions
@@ -651,6 +659,7 @@ datatypes w = "http://whattf.org/datatype-draft"
empty
textarea.attrs &=
( shared-form.attrs.maxlength?
+ & shared-form.attrs.minlength?
& shared-form.attrs.autofocus?
& shared-form.attrs.required?
& shared-form.attrs.placeholder?
diff --git a/xml/relaxng/src/resources/html5-schema/html5chars.ent b/xml/relaxng/src/resources/html5-schema/html5chars.ent
index b53a6b0e8c21..3e43a98c31fb 100644
--- a/xml/relaxng/src/resources/html5-schema/html5chars.ent
+++ b/xml/relaxng/src/resources/html5-schema/html5chars.ent
@@ -1,5 +1,5 @@