From 51063f170f35923f758aca04af90512fb2f0bb07 Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Mon, 25 Jan 2016 12:46:31 +0300 Subject: [PATCH] update html5 schema #WEB-19972 fixed --- .../html5-schema/html5/applications.rnc | 38 +--- .../src/resources/html5-schema/html5/aria.rnc | 14 ++ .../resources/html5-schema/html5/block.rnc | 11 +- .../resources/html5-schema/html5/common.rnc | 14 ++ .../html5-schema/html5/core-scripting.rnc | 48 ++++- .../src/resources/html5-schema/html5/data.rnc | 4 +- .../resources/html5-schema/html5/embed.rnc | 174 ++---------------- .../src/resources/html5-schema/html5/meta.rnc | 36 +++- .../resources/html5-schema/html5/phrase.rnc | 1 + .../html5-schema/html5/structural.rnc | 4 +- .../html5-schema/html5/web-forms.rnc | 23 ++- .../html5-schema/html5/web-forms2.rnc | 9 + .../src/resources/html5-schema/html5chars.ent | 2 +- 13 files changed, 157 insertions(+), 221 deletions(-) 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 @@