WEB-49285 Update HTML5 specs

GitOrigin-RevId: c715dfcb07568f89379e4617b6e5dce74236407e
This commit is contained in:
Piotr Tomiak
2021-03-10 13:09:57 +01:00
committed by intellij-monorepo-bot
parent fe7577a03a
commit cd47e231e0
24 changed files with 343 additions and 215 deletions

View File

@@ -8,6 +8,11 @@ common.elem.phrasing |= svg
common.elem.phrasing |= math
math.attributes &=
( common.attrs.aria.role.math
| common.attrs.aria.implicit.math
)?
SVG.foreignObject.content |=
( math
| common.inner.flow

View File

@@ -98,18 +98,7 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& dialog.attrs.open?
& ( common.attrs.aria.implicit.dialog
| common.attrs.aria.role.alert
| common.attrs.aria.role.alertdialog
| common.attrs.aria.role.application
| common.attrs.aria.role.contentinfo
| common.attrs.aria.role.dialog
| common.attrs.aria.role.log
| common.attrs.aria.role.marquee
| common.attrs.aria.role.region
| common.attrs.aria.role.status
| common.attrs.aria.landmark.document
| common.attrs.aria.landmark.main
| common.attrs.aria.landmark.search
)?
)
dialog.attrs.open =
@@ -126,12 +115,14 @@ datatypes w = "http://whattf.org/datatype-draft"
element menu { menu.inner & menu.attrs }
menu.attrs =
( common.attrs
& ( common.attrs.aria.implicit.toolbar
& ( common.attrs.aria.implicit.list
| common.attrs.aria.role.directory
| common.attrs.aria.role.group
| common.attrs.aria.role.list
| common.attrs.aria.role.listbox
| common.attrs.aria.role.menu
| common.attrs.aria.role.menubar
| common.attrs.aria.role.radiogroup
| common.attrs.aria.role.tablist
| common.attrs.aria.role.toolbar
| common.attrs.aria.role.tree
@@ -226,11 +217,11 @@ datatypes w = "http://whattf.org/datatype-draft"
)
summary.inner =
( common.inner.phrasing
| h1.elem
| h2.elem
| h3.elem
| h4.elem
| h5.elem
| h6.elem
| hgroup.elem
& h1.elem?
& h2.elem?
& h3.elem?
& h4.elem?
& h5.elem?
& h6.elem?
& hgroup.elem?
)

View File

@@ -104,6 +104,9 @@ common.attrs.aria.implicit.listitem |=
& aria.state.expanded?
)
common.attrs.aria.implicit.math |=
( aria.state.expanded? )
common.attrs.aria.implicit.option |=
( aria.prop.posinset?
& aria.prop.setsize?
@@ -146,6 +149,14 @@ common.attrs.aria.implicit.searchbox |=
& aria.prop.required?
)
common.attrs.aria.implicit.separator |=
( aria.prop.valuemax?
& aria.prop.valuemin?
& aria.prop.valuenow?
& aria.prop.valuetext?
& aria.prop.orientation?
)
common.attrs.aria.implicit.slider |=
( aria.prop.valuemax?
& aria.prop.valuemin?
@@ -276,34 +287,9 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
## dropeffect
aria.state.dropeffect =
attribute aria-dropeffect
{ token "none" #default
| token "popup"
| token "execute"
| list
{ ( string "copy" )
, ( string "execute" )?
}
| list
{ ( string "move" )
, ( string "execute" )?
}
| list
{ ( string "link" )
, ( string "execute" )?
}
| list
{ ( string "execute" )
, ( string "copy" )
}
| list
{ ( string "execute" )
, ( string "move" )
}
| list
{ ( string "execute" )
, ( string "link" )
}
}
{
list { ("copy" | "execute" | "link" | "move" | "none" | "popup") + }
}
## expanded
aria.state.expanded =
@@ -1047,6 +1033,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
attribute role { string "math" }
common.attrs.aria |= aria.math
common.attrs.aria.role.math |= aria.math
## menu
aria.menu =
@@ -1292,6 +1279,7 @@ common.attrs.aria.implicit.navigation |= common.attrs.aria.implicit.landmark
attribute role { string "scrollbar" }
common.attrs.aria |= aria.scrollbar
common.attrs.aria.role.scrollbar |= aria.scrollbar
## search
aria.search =

View File

@@ -26,7 +26,8 @@ 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.implicit.separator
| common.attrs.aria.role.separator
| common.attrs.aria.role.presentation
| common.attrs.aria.role.doc-pagebreak
)?
@@ -279,4 +280,11 @@ datatypes w = "http://whattf.org/datatype-draft"
)
legend.inner =
( common.inner.phrasing
& h1.elem?
& h2.elem?
& h3.elem?
& h4.elem?
& h5.elem?
& h6.elem?
& hgroup.elem?
)

View File

@@ -477,7 +477,6 @@ common.attrs.aria.role.cell |= ( notAllowed )
common.attrs.aria.role.checkbox = ( notAllowed )
common.attrs.aria.role.combobox = ( notAllowed )
common.attrs.aria.role.complementary = ( notAllowed )
common.attrs.aria.role.contentinfo = ( notAllowed )
common.attrs.aria.role.dialog = ( notAllowed )
common.attrs.aria.role.directory = ( notAllowed )
common.attrs.aria.role.document = ( notAllowed )
@@ -498,7 +497,6 @@ common.attrs.aria.role.menubar = ( notAllowed )
common.attrs.aria.role.menuitem = ( notAllowed )
common.attrs.aria.role.menuitemcheckbox = ( notAllowed )
common.attrs.aria.role.menuitemradio = ( notAllowed )
common.attrs.aria.role.note = ( notAllowed )
common.attrs.aria.role.option = ( notAllowed )
common.attrs.aria.role.presentation = ( notAllowed )
common.attrs.aria.role.progressbar = ( notAllowed )
@@ -543,6 +541,7 @@ common.attrs.aria.implicit.list = ( notAllowed )
common.attrs.aria.implicit.listbox = ( notAllowed )
common.attrs.aria.implicit.listitem = ( notAllowed )
common.attrs.aria.implicit.main = ( notAllowed )
common.attrs.aria.implicit.math |= ( notAllowed )
common.attrs.aria.implicit.navigation = ( notAllowed )
common.attrs.aria.implicit.option = ( notAllowed )
common.attrs.aria.implicit.progressbar = ( notAllowed )
@@ -553,6 +552,7 @@ common.attrs.aria.implicit.rowgroup |= ( notAllowed )
common.attrs.aria.implicit.searchbox |= ( notAllowed )
common.attrs.aria.implicit.section = ( notAllowed )
common.attrs.aria.implicit.select = ( notAllowed )
common.attrs.aria.implicit.separator = ( notAllowed )
common.attrs.aria.implicit.slider = ( notAllowed )
common.attrs.aria.implicit.spinbutton = ( notAllowed )
common.attrs.aria.implicit.status = ( notAllowed )

View File

@@ -19,9 +19,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& script.attrs.integrity?
& embedded.content.attrs.crossorigin?
& referrerpolicy?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
script.elem.imported =
element script { script.inner.imported & script.attrs.imported }
@@ -37,9 +34,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& script.attrs.integrity?
& embedded.content.attrs.crossorigin?
& referrerpolicy?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
script.attrs.src =
attribute src {
@@ -108,11 +102,7 @@ datatypes w = "http://whattf.org/datatype-draft"
noscript.inner.flow =
( common.inner.flow )
noscript.attrs =
( common.attrs
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
( common.attrs )
common.elem.metadata |= noscript.elem.head
common.elem.phrasing |= noscript.elem.phrasing
@@ -123,8 +113,7 @@ datatypes w = "http://whattf.org/datatype-draft"
common.attrs.scripting &=
( scripting.attr.onabort?
& scripting.attr.onautocomplete?
& scripting.attr.onautocompleteerror?
& scripting.attr.onauxclick?
& scripting.attr.onblur?
& scripting.attr.oncancel?
& scripting.attr.oncanplay?
@@ -132,13 +121,14 @@ datatypes w = "http://whattf.org/datatype-draft"
& scripting.attr.onchange?
& scripting.attr.onclick?
& scripting.attr.onclose?
& scripting.attr.oncuechange?
& scripting.attr.oncontextmenu?
& scripting.attr.oncopy?
& scripting.attr.oncuechange?
& scripting.attr.oncut?
& scripting.attr.ondblclick?
& scripting.attr.ondrag?
& scripting.attr.ondragend?
& scripting.attr.ondragenter?
& scripting.attr.ondragexit?
& scripting.attr.ondragleave?
& scripting.attr.ondragover?
& scripting.attr.ondragstart?
@@ -150,6 +140,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& scripting.attr.onfocus?
& scripting.attr.onfocusin?
& scripting.attr.onfocusout?
& scripting.attr.onformdata?
& scripting.attr.oninput?
& scripting.attr.oninvalid?
& scripting.attr.onkeydown?
@@ -166,7 +157,7 @@ datatypes w = "http://whattf.org/datatype-draft"
& scripting.attr.onmouseout?
& scripting.attr.onmouseover?
& scripting.attr.onmouseup?
& scripting.attr.onwheel?
& scripting.attr.onpaste?
& scripting.attr.onpause?
& scripting.attr.onplay?
& scripting.attr.onplaying?
@@ -175,27 +166,31 @@ datatypes w = "http://whattf.org/datatype-draft"
& scripting.attr.onreset?
& scripting.attr.onresize?
& scripting.attr.onscroll?
& scripting.attr.onsecuritypolicyviolation?
& scripting.attr.onseeked?
& scripting.attr.onseeking?
& scripting.attr.onselect?
& scripting.attr.onsort?
& scripting.attr.onslotchange?
& scripting.attr.onstalled?
& scripting.attr.onsubmit?
& scripting.attr.onsuspend?
& scripting.attr.ontimeupdate?
& scripting.attr.ontoggle?
& scripting.attr.ontransitioncancel?
& scripting.attr.ontransitionend?
& scripting.attr.ontransitionrun?
& scripting.attr.ontransitionstart?
& scripting.attr.onvolumechange?
& scripting.attr.onwaiting?
& scripting.attr.onwheel?
)
common.attrs.other &= common.attrs.scripting
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.onauxclick =
attribute onauxclick { common.data.functionbody }
scripting.attr.onblur =
attribute onblur { common.data.functionbody }
scripting.attr.oncanplay =
@@ -212,8 +207,12 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onclose { common.data.functionbody }
scripting.attr.oncontextmenu =
attribute oncontextmenu { common.data.functionbody }
scripting.attr.oncopy =
attribute oncopy { common.data.functionbody }
scripting.attr.oncuechange =
attribute oncuechange { common.data.functionbody }
scripting.attr.oncut =
attribute oncut { common.data.functionbody }
scripting.attr.ondblclick =
attribute ondblclick { common.data.functionbody }
scripting.attr.ondrag =
@@ -222,8 +221,6 @@ 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 =
@@ -248,6 +245,8 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onfocusout { common.data.functionbody }
scripting.attr.onformchange =
attribute onformchange { common.data.functionbody }
scripting.attr.onformdata =
attribute onformdata { common.data.functionbody }
scripting.attr.onforminput =
attribute onforminput { common.data.functionbody }
scripting.attr.oninput =
@@ -284,6 +283,8 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onmouseup { common.data.functionbody }
scripting.attr.onwheel =
attribute onwheel { common.data.functionbody }
scripting.attr.onpaste =
attribute onpaste { common.data.functionbody }
scripting.attr.onpause =
attribute onpause { common.data.functionbody }
scripting.attr.onplay =
@@ -300,14 +301,16 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute onresize { common.data.functionbody }
scripting.attr.onscroll =
attribute onscroll { common.data.functionbody }
scripting.attr.onsecuritypolicyviolation =
attribute onsecuritypolicyviolation { common.data.functionbody }
scripting.attr.onseeked =
attribute onseeked { common.data.functionbody }
scripting.attr.onseeking =
attribute onseeking { common.data.functionbody }
scripting.attr.onselect =
attribute onselect { common.data.functionbody }
scripting.attr.onsort =
attribute onsort { common.data.functionbody }
scripting.attr.onslotchange =
attribute onslotchange { common.data.functionbody }
scripting.attr.onstalled =
attribute onstalled { common.data.functionbody }
scripting.attr.onsubmit =
@@ -318,6 +321,14 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute ontimeupdate { common.data.functionbody }
scripting.attr.ontoggle =
attribute ontoggle { common.data.functionbody }
scripting.attr.ontransitioncancel =
attribute ontransitioncancel { common.data.functionbody }
scripting.attr.ontransitionend =
attribute ontransitionend { common.data.functionbody }
scripting.attr.ontransitionrun =
attribute ontransitionrun { common.data.functionbody }
scripting.attr.ontransitionstart =
attribute ontransitionstart { common.data.functionbody }
scripting.attr.onvolumechange =
attribute onvolumechange { common.data.functionbody }
scripting.attr.onwaiting =

View File

@@ -65,9 +65,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& meter.attrs.high?
& meter.attrs.max?
& meter.attrs.optimum?
& ( common.attrs.aria.implicit.progressbar
| common.attrs.aria.role.progressbar
)?
)
meter.attrs.value =
attribute value {

View File

@@ -10,26 +10,50 @@ namespace local = ""
## Images: <img>
img.elem =
element img { img.inner & img.attrs }
img.attrs =
shared-img.attrs =
( common.attrs
& img.attrs.src
& img.attrs.srcset?
& img.attrs.sizes?
& img.attrs.alt? # ARIA: if alt empty, only allowed role value is "presentation"; check in assertions
& img.attrs.generator-unable-to-provide-required-alt?
& img.attrs.height?
& img.attrs.width?
& img.attrs.usemap?
& img.attrs.ismap?
& img.attrs.decoding?
& img.attrs.loading?
& img.attrs.border? # obsolete
& referrerpolicy?
& embedded.content.attrs.crossorigin?
)
img.elem =
element img { img.inner & img.attrs }
img.attrs =
( shared-img.attrs
& img.attrs.alt?
& ( common.attrs.aria.implicit.img
| common.attrs.aria
| common.attrs.aria.role.button
| common.attrs.aria.role.checkbox
| common.attrs.aria.role.img
| common.attrs.aria.role.link
| common.attrs.aria.role.menuitem
| common.attrs.aria.role.menuitemcheckbox
| common.attrs.aria.role.menuitemradio
| common.attrs.aria.role.none
| common.attrs.aria.role.option
| common.attrs.aria.role.presentation
| common.attrs.aria.role.progressbar
| common.attrs.aria.role.scrollbar
| common.attrs.aria.role.separator
| common.attrs.aria.role.slider
| common.attrs.aria.role.switch
| common.attrs.aria.role.tab
| common.attrs.aria.role.treeitem
| common.attrs.aria.role.doc-cover
)?
)
img.attrs.src =
attribute src {
common.data.uri.non-empty
@@ -46,6 +70,10 @@ namespace local = ""
attribute alt {
text
}
img.attrs.generator-unable-to-provide-required-alt =
attribute generator-unable-to-provide-required-alt {
string ""
}
img.attrs.height =
attribute height {
common.data.integer.non-negative
@@ -69,6 +97,10 @@ namespace local = ""
| string "auto"
)
}
img.attrs.loading =
attribute loading {
w:string "lazy" | w:string "eager"
}
img.attrs.border =
attribute border {
common.data.zero
@@ -181,8 +213,7 @@ namespace local = ""
| inputmode
| nonce
| onabort
| onautocomplete
| onautocompleteerror
| onauxclick
| onblur
| oncancel
| oncanplay
@@ -191,12 +222,13 @@ namespace local = ""
| onclick
| onclose
| oncontextmenu
| oncopy
| oncuechange
| oncut
| ondblclick
| ondrag
| ondragend
| ondragenter
| ondragexit
| ondragleave
| ondragover
| ondragstart
@@ -208,6 +240,7 @@ namespace local = ""
| onfocus
| onfocusin
| onfocusout
| onformdata
| oninput
| oninvalid
| onkeydown
@@ -224,7 +257,7 @@ namespace local = ""
| onmouseout
| onmouseover
| onmouseup
| onwheel
| onpaste
| onpause
| onplay
| onplaying
@@ -233,17 +266,23 @@ namespace local = ""
| onreset
| onresize
| onscroll
| onsecuritypolicyviolation
| onseeked
| onseeking
| onslotchange
| onselect
| onsort
| onstalled
| onsubmit
| onsuspend
| ontimeupdate
| ontoggle
| ontransitioncancel
| ontransitionend
| ontransitionrun
| ontransitionstart
| onvolumechange
| onwaiting
| onwheel
| role
| aria-atomic
| aria-busy
@@ -278,6 +317,8 @@ namespace local = ""
| itemid
| name
| align
| hspace
| vspace
| about
| prefix
| property
@@ -369,7 +410,6 @@ namespace local = ""
& ( common.attrs.aria.role.application
| common.attrs.aria.landmark.document
| common.attrs.aria.role.img
| common.attrs.aria.role.presentation
)?
)
object.attrs.data =
@@ -416,9 +456,6 @@ namespace local = ""
( common.attrs
& param.attrs.name
& param.attrs.value
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
param.attrs.name =
attribute name {
@@ -442,10 +479,9 @@ namespace local = ""
& iframe.attrs.name?
& iframe.attrs.width?
& iframe.attrs.height?
& iframe.attrs.loading?
& iframe.attrs.sandbox?
& iframe.attrs.allowfullscreen?
& iframe.attrs.allowpaymentrequest?
& iframe.attrs.allowusermedia?
& iframe.attrs.allow?
& referrerpolicy?
& ( common.attrs.aria.role.application
@@ -470,6 +506,10 @@ namespace local = ""
attribute height {
common.data.integer.non-negative
}
iframe.attrs.loading =
attribute loading {
w:string "lazy" | w:string "eager"
}
iframe.attrs.width =
attribute width {
common.data.integer.non-negative
@@ -482,14 +522,6 @@ namespace local = ""
attribute allowfullscreen {
w:string "allowfullscreen" | w:string ""
} & v5only
iframe.attrs.allowpaymentrequest =
attribute allowpaymentrequest {
w:string "allowpaymentrequest" | w:string ""
} & v5only
iframe.attrs.allowusermedia =
attribute allowusermedia {
w:string "allowusermedia" | w:string ""
} & v5only
iframe.attrs.allow =
attribute allow {
common.data.feature-policy
@@ -511,9 +543,6 @@ namespace local = ""
map.attrs =
( common.attrs
& map.attrs.name
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
) # REVISIT make id required in Schematron
map.attrs.name =
attribute name {

View File

@@ -302,9 +302,9 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute content {
string
}
common.elem.metadata |= meta.http-equiv.content-language.elem # not quite right per spec
# if the definition is
# if the definition is
# reused in another language
## Key-pair generator/input control: <keygen>
@@ -1015,6 +1015,45 @@ datatypes w = "http://whattf.org/datatype-draft"
## hspace attribute
embed.attrs.hspace =
attribute hspace {
string
}
embed.attrs &= embed.attrs.hspace?
iframe.attrs.hspace =
attribute hspace {
string
}
iframe.attrs &= iframe.attrs.hspace?
input.attrs.hspace =
attribute hspace {
string
}
input.text.attrs &= input.attrs.hspace?
input.password.attrs &= input.attrs.hspace?
input.checkbox.attrs &= input.attrs.hspace?
input.radio.attrs &= input.attrs.hspace?
input.button.attrs &= input.attrs.hspace?
input.submit.attrs &= input.attrs.hspace?
input.reset.attrs &= input.attrs.hspace?
input.file.attrs &= input.attrs.hspace?
input.image.attrs &= input.attrs.hspace?
input.datetime.attrs &= input.attrs.hspace?
input.datetime-local.attrs &= input.attrs.hspace?
input.date.attrs &= input.attrs.hspace?
input.month.attrs &= input.attrs.hspace?
input.time.attrs &= input.attrs.hspace?
input.week.attrs &= input.attrs.hspace?
input.number.attrs &= input.attrs.hspace?
input.range.attrs &= input.attrs.hspace?
input.email.attrs &= input.attrs.hspace?
input.url.attrs &= input.attrs.hspace?
input.search.attrs &= input.attrs.hspace?
input.tel.attrs &= input.attrs.hspace?
input.color.attrs &= input.attrs.hspace?
img.attrs.hspace =
attribute hspace {
string
@@ -1246,6 +1285,45 @@ datatypes w = "http://whattf.org/datatype-draft"
## vspace attribute
embed.attrs.vspace =
attribute vspace {
string
}
embed.attrs &= embed.attrs.vspace?
iframe.attrs.vspace =
attribute vspace {
string
}
iframe.attrs &= iframe.attrs.vspace?
input.attrs.vspace =
attribute vspace {
string
}
input.text.attrs &= input.attrs.vspace?
input.password.attrs &= input.attrs.vspace?
input.checkbox.attrs &= input.attrs.vspace?
input.radio.attrs &= input.attrs.vspace?
input.button.attrs &= input.attrs.vspace?
input.submit.attrs &= input.attrs.vspace?
input.reset.attrs &= input.attrs.vspace?
input.file.attrs &= input.attrs.vspace?
input.image.attrs &= input.attrs.vspace?
input.datetime.attrs &= input.attrs.vspace?
input.datetime-local.attrs &= input.attrs.vspace?
input.date.attrs &= input.attrs.vspace?
input.month.attrs &= input.attrs.vspace?
input.time.attrs &= input.attrs.vspace?
input.week.attrs &= input.attrs.vspace?
input.number.attrs &= input.attrs.vspace?
input.range.attrs &= input.attrs.vspace?
input.email.attrs &= input.attrs.vspace?
input.url.attrs &= input.attrs.vspace?
input.search.attrs &= input.attrs.vspace?
input.tel.attrs &= input.attrs.vspace?
input.color.attrs &= input.attrs.vspace?
img.attrs.vspace =
attribute vspace {
string

View File

@@ -44,9 +44,6 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& source.attrs.src
& source.attrs.type?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
source.attrs.src =
attribute src {
@@ -153,9 +150,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& track.attrs.srclang?
& track.attrs.label?
& track.attrs.default?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
track.attrs.kind =
attribute kind {

View File

@@ -22,9 +22,6 @@ datatypes w = "http://whattf.org/datatype-draft"
head.attrs =
( common.attrs
# & head.attrs.profile?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
# head.attrs.profile =
# attribute profile {
@@ -106,11 +103,7 @@ datatypes w = "http://whattf.org/datatype-draft"
title.elem =
element title { title.inner & title.attrs }
title.attrs =
( common.attrs
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
( common.attrs )
title.inner =
( text )
@@ -159,15 +152,13 @@ datatypes w = "http://whattf.org/datatype-draft"
& referrerpolicy?
& link.attrs.sizes?
& link.attrs.color?
& link.attrs.disabled?
& link.attrs.scope?
& link.attrs.updateviacache?
& link.attrs.workertype?
# link.attrs.title included in common.attrs
& embedded.content.attrs.crossorigin?
& ( common.attrs.aria.role.link
| common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
& common.attrs.aria.role.link?
)
link.attrs.href =
attribute href {
@@ -175,7 +166,7 @@ datatypes w = "http://whattf.org/datatype-draft"
}
link.attrs.rel =
attribute rel {
w:link-rel
string
}
link.attrs.as =
attribute as {
@@ -184,6 +175,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| string "audioworklet"
| string "document"
| string "embed"
| string "fetch"
| string "font"
| string "image"
| string "manifest"
@@ -211,6 +203,10 @@ datatypes w = "http://whattf.org/datatype-draft"
attribute color {
common.data.color
}
link.attrs.disabled =
attribute disabled {
w:string "disabled" | w:string ""
}
link.attrs.scope =
attribute scope {
common.data.uri
@@ -242,9 +238,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& style.attrs.type?
& style.attrs.media?
# style.attrs.title included in common.attrs
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
style.attrs.type =
attribute type {
@@ -274,9 +267,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.attrs.microdata.itemscope?
& common.attrs.microdata.itemtype?
& common.attrs.microdata.itemid?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.name.attrs.name =
attribute name {
@@ -302,9 +292,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.attrs.other
& meta.http-equiv.attrs.http-equiv.refresh
& meta.http-equiv.attrs.content.refresh
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.http-equiv.attrs.http-equiv.refresh =
attribute http-equiv {
@@ -329,9 +316,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.attrs.other
& meta.http-equiv.attrs.http-equiv.default-style
& meta.http-equiv.attrs.content.default-style
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.http-equiv.attrs.http-equiv.default-style =
attribute http-equiv {
@@ -357,9 +341,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& 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 {
@@ -382,9 +363,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.attrs.other
& meta.http-equiv.attrs.http-equiv.x-ua-compatible
& meta.http-equiv.attrs.content.x-ua-compatible
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.http-equiv.attrs.http-equiv.x-ua-compatible =
attribute http-equiv {
@@ -406,9 +384,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.attrs.present
& common.attrs.other
& meta.charset.attrs.charset
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.charset.attrs.charset =
attribute charset {
@@ -430,9 +405,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& common.attrs.other
& meta.http-equiv.attrs.http-equiv.content-type
& meta.http-equiv.attrs.content.content-type
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.http-equiv.attrs.http-equiv.content-type =
attribute http-equiv {

View File

@@ -89,9 +89,6 @@ link.attrs &= common.attrs.microdata.itemid?
& common.attrs.microdata.itemtype?
& common.attrs.microdata.itemid?
& meta.itemprop.attrs.content
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.itemprop.attrs.content =
attribute content {

View File

@@ -87,7 +87,7 @@ datatypes w = "http://whattf.org/datatype-draft"
}
shared-hyperlink.attrs.rel =
attribute rel {
w:a-rel
string
}
shared-hyperlink.attrs.hreflang =
attribute hreflang {

View File

@@ -265,9 +265,6 @@ link.rdfa.attrs.phrasing =
& meta.name.attrs.name?
& common.attrs.rdfa.property
& meta.name.attrs.content
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
common.elem.metadata |= meta.property.elem

View File

@@ -119,11 +119,7 @@
element hgroup { hgroup.inner & hgroup.attrs }
hgroup.attrs =
( common.attrs
& ( common.attrs.aria.implicit.heading
| common.attrs.aria.role.heading
| common.attrs.aria.role.tab
| common.attrs.aria.role.presentation
)?
& common.attrs.aria?
)
hgroup.inner =
( ( h1.elem

View File

@@ -12,19 +12,21 @@
| common.attrs.aria.role.alert
| common.attrs.aria.role.alertdialog
| common.attrs.aria.role.application
| common.attrs.aria.role.contentinfo
| common.attrs.aria.role.dialog
| common.attrs.aria.role.feed
| common.attrs.aria.role.log
| common.attrs.aria.role.marquee
| common.attrs.aria.role.presentation
| common.attrs.aria.role.region
| common.attrs.aria.role.status
| common.attrs.aria.role.tabpanel
| common.attrs.aria.landmark.banner
| common.attrs.aria.landmark.complementary
| common.attrs.aria.landmark.contentinfo
| common.attrs.aria.landmark.document
| common.attrs.aria.landmark.main
| common.attrs.aria.landmark.navigation
| common.attrs.aria.landmark.note
| common.attrs.aria.landmark.search
| common.attrs.aria.role.doc-abstract
| common.attrs.aria.role.doc-acknowledgments
@@ -38,10 +40,12 @@
| common.attrs.aria.role.doc-credits
| common.attrs.aria.role.doc-dedication
| common.attrs.aria.role.doc-endnotes
| common.attrs.aria.role.doc-epigraph
| common.attrs.aria.role.doc-epilogue
| common.attrs.aria.role.doc-errata
| common.attrs.aria.role.doc-example
| common.attrs.aria.role.doc-foreword
| common.attrs.aria.role.doc-glossary
| common.attrs.aria.role.doc-index
| common.attrs.aria.role.doc-introduction
| common.attrs.aria.role.doc-notice
@@ -112,6 +116,7 @@
| common.attrs.aria.role.feed
| common.attrs.aria.role.region
| common.attrs.aria.role.presentation
| common.attrs.aria.role.doc-dedication
| common.attrs.aria.role.doc-example
| common.attrs.aria.role.doc-footnote
| common.attrs.aria.role.doc-pullquote

View File

@@ -172,6 +172,7 @@ datatypes w = "http://whattf.org/datatype-draft"
| common.attrs.aria.role.option
| common.attrs.aria.role.radio
| common.attrs.aria.role.switch
| common.attrs.aria.role.tab
)?
)
input.button.attrs.type =
@@ -244,9 +245,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& common-form.attrs
& input.file.attrs.type
& input.file.attrs.accept?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.file.attrs.type =
attribute type {
@@ -392,8 +390,8 @@ datatypes w = "http://whattf.org/datatype-draft"
( common.attrs
& optgroup.attrs.label
& common-form.attrs.disabled?
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
& ( common.attrs.aria.implicit.group
| common.attrs.aria.role.group
)?
)
optgroup.attrs.label =
@@ -415,9 +413,11 @@ datatypes w = "http://whattf.org/datatype-draft"
& select.attrs.size?
& select.attrs.multiple?
# 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.listbox # aria-multiselectable depends on "multiple" value; check in assertions
| common.attrs.aria.role.combobox
| common.attrs.aria.role.menu
| common.attrs.aria.implicit.combobox
| common.attrs.aria.implicit.listbox
)?
)
select.attrs.size =

View File

@@ -91,6 +91,17 @@ datatypes w = "http://whattf.org/datatype-draft"
& shared-form.attrs.required?
)
shared-input-no-list.attrs =
( input.attrs.autocomplete?
& shared-form.attrs.maxlength?
& shared-form.attrs.minlength?
& shared-form.attrs.pattern?
& shared-form.attrs.placeholder?
& shared-form.attrs.readonly?
& shared-form.attrs.required?
& shared-form.attrs.size?
)
shared-input.attrs =
( shared-input-no-size.attrs
& shared-form.attrs.size?
@@ -199,7 +210,13 @@ datatypes w = "http://whattf.org/datatype-draft"
input.file.attrs &=
( shared-input.attrs
& input.attrs.multiple?
& aria.prop.required?
& input.input.attrs.capture?
)
input.input.attrs.capture =
attribute capture {
w:string "user" | w:string "environment"
}
## Image Submit Button: <input type='image'>, Extensions
@@ -235,9 +252,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.datetime-local.attrs.max?
& input.attrs.step.float?
& input.datetime-local.attrs.value?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.datetime-local.attrs.type =
attribute type {
@@ -271,9 +285,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.date.attrs.max?
& input.attrs.step.integer?
& input.date.attrs.value?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.date.attrs.type =
attribute type {
@@ -307,9 +318,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.month.attrs.max?
& input.attrs.step.integer?
& input.month.attrs.value?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.month.attrs.type =
attribute type {
@@ -343,9 +351,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.time.attrs.max?
& input.attrs.step.float?
& input.time.attrs.value?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.time.attrs.type =
attribute type {
@@ -379,9 +384,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.week.attrs.max?
& input.attrs.step.integer?
& input.week.attrs.value?
& ( common.attrs.aria?
| aria.prop.required?
)
)
input.week.attrs.type =
attribute type {
@@ -481,18 +483,23 @@ datatypes w = "http://whattf.org/datatype-draft"
input.email.attrs =
( common.attrs
& common-form.attrs
& shared-input.attrs
& shared-input-no-list.attrs
& input.email.attrs.type
& ( ( input.attrs.multiple
& input.email.attrs.value.multiple?
)
| input.email.attrs.value.single?
)?
& ( common.attrs.aria.implicit.textbox
| common.attrs.aria.implicit.combobox
| common.attrs.aria.role.textbox
| common.attrs.aria.role.combobox
)?
& (
( common.attrs.aria.implicit.textbox
| common.attrs.aria.role.textbox
)?
| ( input.attrs.list
& ( common.attrs.aria.implicit.combobox
| common.attrs.aria.role.combobox
)?
)?
)
)
input.email.attrs.type =
attribute type {
@@ -516,15 +523,20 @@ datatypes w = "http://whattf.org/datatype-draft"
input.url.attrs =
( common.attrs
& common-form.attrs
& shared-input.attrs
& shared-input-no-list.attrs
& input.url.attrs.type
& input.url.attrs.value?
& ( common.attrs.aria.implicit.textbox
| common.attrs.aria.implicit.combobox
| common.attrs.aria.role.textbox
| common.attrs.aria.role.combobox
)?
)
& (
( common.attrs.aria.implicit.textbox
| common.attrs.aria.role.textbox
)?
| ( input.attrs.list
& ( common.attrs.aria.implicit.combobox
| common.attrs.aria.role.combobox
)?
)?
)
)
input.url.attrs.type =
attribute type {
w:string "url"
@@ -569,15 +581,20 @@ datatypes w = "http://whattf.org/datatype-draft"
input.tel.attrs =
( common.attrs
& common-form.attrs
& shared-input.attrs
& shared-input-no-list.attrs
& input.tel.attrs.type
& input.tel.attrs.value?
& ( common.attrs.aria.implicit.textbox
| common.attrs.aria.implicit.combobox
| common.attrs.aria.role.textbox
| common.attrs.aria.role.combobox
)?
)
& (
( common.attrs.aria.implicit.textbox
| common.attrs.aria.role.textbox
)?
| ( input.attrs.list
& ( common.attrs.aria.implicit.combobox
| common.attrs.aria.role.combobox
)?
)?
)
)
input.tel.attrs.type =
attribute type {
w:string "tel"
@@ -599,7 +616,6 @@ datatypes w = "http://whattf.org/datatype-draft"
& input.color.attrs.type
& input.color.attrs.value?
& shared-input.attrs
& common.attrs.aria?
)
input.color.attrs.type =
attribute type {

View File

@@ -1,5 +1,5 @@
<!--
* Copyright 2000-2019 JetBrains s.r.o.
* Copyright 2000-2021 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@@ -131,7 +131,22 @@ grammar {
attribute in2 { text },
[ a:defaultValue = "normal" ]
attribute mode {
string "normal" | string "multiply" | string "screen" | string "darken" | string "lighten"
string "normal"
| string "multiply"
| string "screen"
| string "overlay"
| string "darken"
| string "lighten"
| string "color-dodge"
| string "color-burn"
| string "hard-light"
| string "soft-light"
| string "difference"
| string "exclusion"
| string "hue"
| string "saturation"
| string "color"
| string "luminosity"
}?
a:documentation [
"\x{a}" ~
@@ -184,7 +199,7 @@ grammar {
attribute in2 { text },
[ a:defaultValue = "over" ]
attribute operator {
string "over" | string "in" | string "out" | string "atop" | string "xor" | string "arithmetic"
string "over" | string "in" | string "out" | string "atop" | string "xor" | string "lighter" | string "arithmetic"
}?,
attribute k1 { Number.datatype }?,
attribute k2 { Number.datatype }?,

View File

@@ -175,7 +175,9 @@ grammar {
SVG.DocumentEvents.attrib,
SVG.GraphicalEvents.attrib,
SVG.External.attrib,
common.attrs.aria?,
(common.attrs.aria.role.application
| common.attrs.aria.landmark.document
| common.attrs.aria.role.img)?,
attribute x { Coordinate.datatype }?,
attribute y { Coordinate.datatype }?,
attribute width { Length.datatype }?,

View File

@@ -39,6 +39,7 @@ grammar {
| feMorphology
| feSpecularLighting
| feTurbulence
| feDropShadow
a:documentation [
"\x{a}" ~
" feConvolveMatrix: Filter Effect Convolve Matrix Element\x{a}" ~
@@ -215,4 +216,24 @@ grammar {
attribute pointsAtZ { Number.datatype }?,
attribute specularExponent { Number.datatype }?,
attribute limitingConeAngle { Number.datatype }?
a:documentation [
"\x{a}" ~
" feDropShadow: Filter Effects Drop Shadow\x{a}" ~
" "
]
SVG.feDropShadow.content = (animate | set)*
SVG.feDropShadow.content &= SVG.Description.class*
SVG.feDropShadow.content &= SVG.Script.class*
feDropShadow =
element feDropShadow {
attlist.feDropShadow, SVG.feDropShadow.content
}
attlist.feDropShadow &=
SVG.Core.attrib,
SVG.Presentation.attrib,
SVG.Style.attrib,
SVG.FilterPrimitiveWithIn.attrib,
attribute stdDeviation { NumberOptionalNumber.datatype }?,
attribute dx { Number.datatype }?,
attribute dy { Number.datatype }?
}

View File

@@ -63,6 +63,8 @@ grammar {
SVG.GraphicalEvents.attrib,
SVG.External.attrib,
common.attrs.aria?,
attribute width { Length.datatype }?,
attribute height { Length.datatype }?,
attribute viewBox { ViewBoxSpec.datatype }?,
[ a:defaultValue = "xMidYMid meet" ]
attribute preserveAspectRatio {

View File

@@ -31,7 +31,6 @@ cp temp/validator/schema/*.rnc result
rsync -r --include=*.rnc temp/validator/schema/* result
rm -rf result/xhtml10
ruby html5charref.rb > result/html5chars.ent
git clone https://github.com/mdn/browser-compat-data
echo
echo ">>>>> Patching html5 schema"
@@ -52,10 +51,15 @@ echo ">>>>> Moving items in place"
cp result/html5-all.rnc result/html5.rnc
cp result/xhtml5-all.rnc result/xhtml5.rnc
mv result/html5/LICENSE result
# Retain our SVG 2.0 support
cp -R html5-schema/svg20 result
# Remove unnecessary files
rm result/html5/.htaccess
rm result/html5/assertions.sch
# Update html5-schema dir
rm -rf html5-schema
mv result html5-schema
rsync -r --include=*.json browser-compat-data/html/* ../../../xml-psi-impl/src/com/intellij/xml/util/documentation/compatData
rsync -r --include=*.json browser-compat-data/mathml/* ../../../xml-psi-impl/src/com/intellij/xml/util/documentation/compatData/mathml
rsync -r --include=*.json browser-compat-data/svg/* ../../../xml-psi-impl/src/com/intellij/xml/util/documentation/compatData/svg
rm -rf temp
rm -rf browser-compat-data