- From: Michael Smith via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 28 Jan 2010 17:11:55 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/markup/schema In directory hutz:/tmp/cvs-serv14776/schema Modified Files: applications.rnc aria.rnc assertions.sch common.rnc core-scripting.rnc data.rnc embed.rnc media.rnc meta.rnc microdata.rnc structural.rnc tables.rnc web-forms.rnc Log Message: updated status section Index: data.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/data.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- data.rnc 29 Aug 2009 01:43:07 -0000 1.1 +++ data.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -1,3 +1,5 @@ +datatypes w = "http://whattf.org/datatype-draft" + # ##################################################################### ## RELAX NG Schema for HTML 5: Static Data Markup # # ##################################################################### @@ -9,11 +11,16 @@ time.attrs = ( common.attrs & time.attrs.datetime? + & time.attrs.pubdate? ) time.attrs.datetime = attribute datetime { common.data.date-or-time #REVISIT check format } + time.attrs.pubdate = + attribute pubdate { + w:string "pubdate" | w:string "" + } time.inner = ( common.inner.phrasing ) #Cannot enforce textContent format here @@ -25,7 +32,7 @@ element meter { meter.inner & meter.attrs } meter.attrs = ( common.attrs - & meter.attrs.value? + & meter.attrs.value & meter.attrs.min? & meter.attrs.low? & meter.attrs.high? Index: embed.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/embed.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- embed.rnc 29 Aug 2009 01:43:07 -0000 1.1 +++ embed.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -187,9 +187,13 @@ | aria-required | spellcheck | accesskey - | item + | itemref | itemprop - | subject + | itemscope + | itemtype + | itemid + | name + | align ) { string @@ -230,18 +234,6 @@ attribute type { common.data.mimetype } - object.attrs.classid = - attribute classid { - common.data.uri - } - object.attrs.codebase = - attribute codebase { - common.data.uri - } - object.attrs.codetype = - attribute codetype { - common.data.mimetype - } object.attrs.height = attribute height { common.data.integer.positive Index: common.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/common.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- common.rnc 29 Aug 2009 01:43:07 -0000 1.1 +++ common.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -372,10 +372,13 @@ common.attrs.aria.implicit.img = ( notAllowed ) common.attrs.aria.implicit.select = ( notAllowed ) common.attrs.aria.landmark.application = ( notAllowed ) -common.attrs.aria.landmark.article = ( notAllowed ) common.attrs.aria.landmark.banner = ( notAllowed ) common.attrs.aria.landmark.complementary = ( notAllowed ) common.attrs.aria.landmark.contentinfo = ( notAllowed ) -common.attrs.aria.landmark.document = ( notAllowed ) common.attrs.aria.landmark.main = ( notAllowed ) common.attrs.aria.landmark.navigation = ( notAllowed ) +common.attrs.aria.landmark.search = ( notAllowed ) +# per ARIA spec: article, document, and note are not actually landmarks +common.attrs.aria.landmark.article = ( notAllowed ) +common.attrs.aria.landmark.document = ( notAllowed ) +common.attrs.aria.landmark.note = ( notAllowed ) Index: applications.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/applications.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- applications.rnc 29 Aug 2009 01:43:07 -0000 1.1 +++ applications.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -243,22 +243,3 @@ common.elem.flow |= canvas.elem.flow common.elem.phrasing |= canvas.elem.phrasing -## Additional On-Demand Information: <details> - - details.elem = - element details { details.inner & details.attrs } - details.attrs = - ( common.attrs - & details.attrs.open? - & common.attrs.aria.implicit.region? - ) - details.attrs.open = - attribute open { - w:string "open" | w:string "" - } - details.inner = - ( legend.elem - , common.inner.flow - ) - - common.elem.flow |= details.elem Index: structural.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/structural.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- structural.rnc 29 Aug 2009 01:43:08 -0000 1.1 +++ structural.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -8,7 +8,9 @@ element section { section.inner & section.attrs } section.attrs = ( common.attrs - & common.attrs.aria.implicit.region? + & ( common.attrs.aria + | common.attrs.aria.implicit.region + )? ) section.inner = ( style.elem.scoped* @@ -38,17 +40,13 @@ element article { article.inner & article.attrs } article.attrs = ( common.attrs - & article.attrs.pubdate? & ( common.attrs.aria.implicit.region | common.attrs.aria.landmark.article | common.attrs.aria.landmark.main | common.attrs.aria.landmark.document + | common.attrs.aria.landmark.application )? ) - article.attrs.pubdate = - attribute pubdate { - common.data.datetime - } article.inner = ( style.elem* , common.inner.flow @@ -64,6 +62,8 @@ ( common.attrs & ( common.attrs.aria.implicit.region | common.attrs.aria.landmark.complementary + | common.attrs.aria.landmark.search + | common.attrs.aria.landmark.note )? ) aside.inner = @@ -103,18 +103,3 @@ common.elem.flow |= footer.elem -## Dialog: <dialog> - - dialog.elem = - element dialog { dialog.inner & dialog.attrs } - dialog.attrs = - ( common.attrs - & common.attrs.aria.implicit.region? - ) - dialog.inner = - ( ( dt.elem - , dd.elem - )* - ) - - common.elem.flow |= dialog.elem Index: meta.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/meta.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- meta.rnc 29 Aug 2009 01:43:08 -0000 1.1 +++ meta.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -47,6 +47,7 @@ body.attrs = ( common.attrs & ( common.attrs.aria.landmark.application + | common.attrs.aria.landmark.document | common.attrs.aria.implicit.structure )? & body.attrs.onafterprint? @@ -210,7 +211,10 @@ meta.name.elem = element meta { meta.inner & meta.name.attrs } meta.name.attrs = - ( common.attrs + ( common.attrs.basic + & common.attrs.i18n + & common.attrs.present + & common.attrs.other & meta.name.attrs.name & meta.name.attrs.content ) @@ -232,7 +236,10 @@ meta.http-equiv.refresh.elem = element meta { meta.inner & meta.http-equiv.refresh.attrs } meta.http-equiv.refresh.attrs = - ( common.attrs + ( common.attrs.basic + & common.attrs.i18n + & common.attrs.present + & common.attrs.other & meta.http-equiv.attrs.http-equiv.refresh & meta.http-equiv.attrs.content.refresh ) @@ -253,7 +260,10 @@ meta.http-equiv.default-style.elem = element meta { meta.inner & meta.http-equiv.default-style.attrs } meta.http-equiv.default-style.attrs = - ( common.attrs + ( common.attrs.basic + & common.attrs.i18n + & common.attrs.present + & common.attrs.other & meta.http-equiv.attrs.http-equiv.default-style & meta.http-equiv.attrs.content.default-style ) @@ -275,7 +285,10 @@ meta.http-equiv.content-language.elem = element meta { meta.inner & meta.http-equiv.content-language.attrs } meta.http-equiv.content-language.attrs = - ( common.attrs + ( common.attrs.basic + & common.attrs.i18n + & common.attrs.present + & common.attrs.other & meta.http-equiv.attrs.http-equiv.content-language & meta.http-equiv.attrs.content.content-language ) @@ -297,7 +310,10 @@ meta.charset.elem = element meta { meta.inner & meta.charset.attrs } meta.charset.attrs = - ( common.attrs + ( common.attrs.basic + & common.attrs.i18n + & common.attrs.present + & common.attrs.other & meta.charset.attrs.charset ) meta.charset.attrs.charset = @@ -311,7 +327,10 @@ element meta { meta.inner & meta.http-equiv.content-type.attrs } & HTMLonly meta.http-equiv.content-type.attrs = - ( common.attrs + ( common.attrs.basic + & common.attrs.i18n + & common.attrs.present + & common.attrs.other & meta.http-equiv.attrs.http-equiv.content-type & meta.http-equiv.attrs.content.content-type ) Index: microdata.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/microdata.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- microdata.rnc 29 Aug 2009 01:43:08 -0000 1.1 +++ microdata.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -5,23 +5,76 @@ # ##################################################################### common.attrs.microdata = - ( common.attrs.microdata.item? - & common.attrs.microdata.subject? + ( common.attrs.microdata.itemref? & common.attrs.microdata.itemprop? + & common.attrs.microdata.itemscope? + & common.attrs.microdata.itemtype? + & common.attrs.microdata.itemid? ) - common.attrs.microdata.item = - attribute item { - ( w:string "" - | common.data.microdata-identifier - ) - } - common.attrs.microdata.subject = - attribute subject { - common.data.idref + common.attrs.microdata.itemref = + attribute itemref { + common.data.idrefs } common.attrs.microdata.itemprop = attribute itemprop { common.data.microdata-identifier } + common.attrs.microdata.itemscope = + attribute itemscope { + w:string "itemscope" | w:string "" + } + common.attrs.microdata.itemtype = + attribute itemtype { + common.data.uri + } + common.attrs.microdata.itemid = + attribute itemid { + common.data.uri + } common.attrs &= common.attrs.microdata + + link.elem.phrasing = + element link { link.inner & link.phrasing.attrs } + link.phrasing.attrs = + ( common.attrs.basic + & common.attrs.i18n + & common.attrs.present + & common.attrs.other + & common.attrs.microdata.itemprop + & common.attrs.microdata.itemref? + & common.attrs.microdata.itemscope? + & common.attrs.microdata.itemtype? + & common.attrs.microdata.itemid? + & shared-hyperlink.attrs.href + & shared-hyperlink.attrs.rel + & shared-hyperlink.attrs.hreflang? + & shared-hyperlink.attrs.media? + & shared-hyperlink.attrs.type? + & link.attrs.sizes? + # link.attrs.title included in common.attrs + ) + common.elem.phrasing |= link.elem.phrasing + +## Property Metadata: <meta itemprop> + + meta.itemprop.elem = + element meta { meta.inner & meta.itemprop.attrs } + meta.itemprop.attrs = + ( common.attrs.basic + & common.attrs.i18n + & common.attrs.present + & common.attrs.other + & common.attrs.microdata.itemprop + & common.attrs.microdata.itemref? + & common.attrs.microdata.itemscope? + & common.attrs.microdata.itemtype? + & common.attrs.microdata.itemid? + & meta.itemprop.attrs.content + ) + meta.itemprop.attrs.content = + attribute content { + string + } + common.elem.metadata |= meta.itemprop.elem + common.elem.phrasing |= meta.itemprop.elem Index: assertions.sch =================================================================== RCS file: /sources/public/html5/markup/schema/assertions.sch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- assertions.sch 29 Aug 2009 01:43:07 -0000 1.1 +++ assertions.sch 28 Jan 2010 17:11:53 -0000 1.2 @@ -12,6 +12,68 @@ <schema xmlns='http://www.ascc.net/xml/schematron'> <ns prefix='h' uri='http://www.w3.org/1999/xhtml'/> + <pattern name="required attributes"> + <rule context='h:bdo[@dir]'> + <assert test='@dir'> + A “bdo” element must have an + “dir” attribute. + </assert> + </rule> + + <rule context='h:img'> + <assert test='@src'> + An “img” element must have a + “src” attribute. + </assert> + </rule> + + <rule context='h:link'> + <assert test='@href'> + A “link” element must have an “href” attribute. + </assert> + <assert test='@rel'> + A “link” element must have a “rel” attribute. + </assert> + </rule> + + <rule context='h:map'> + <assert test='@name'> + A “map” element must have a “name” attribute. + </assert> + </rule> + + <rule context='h:meter'> + <assert test='@value'> + An “meter” element must have a + “value” attribute. + </assert> + </rule> + + <rule context='h:object'> + <assert test='@data or @type'> + An “object” element must have a + “data” attribute or a + “type” attribute. + </assert> + </rule> + + <rule context='h:param'> + <assert test='@name'> + A “param” element must have an “name” attribute. + </assert> + <assert test='@value'> + A “param” element must have a “value” attribute. + </assert> + </rule> + + <rule context='h:source'> + <assert test='@src'> + A “source” element must have a + “src” attribute. + </assert> + </rule> + </pattern> + <pattern name='Triggered on mutually exclusive elements and prohibited-descendant cases'> <!-- Exclusions and prohibited-descendant contraints - - - - - - - - - - - --> @@ -52,10 +114,6 @@ </rule> <rule context='h:section|h:nav|h:article|h:aside'> - <report test='ancestor::h:footer'> - The sectioning element “<name/>” must not - appear as a descendant of the “footer” element. - </report> <report test='ancestor::h:address'> The sectioning element “<name/>” must not appear as a descendant of the “address” element. @@ -78,10 +136,6 @@ </rule> <rule context='h:h1|h:h2|h:h3|h:h4|h:h5|h:h6'> - <report test='ancestor::h:footer'> - The “<name/>” element must not appear as a - descendant of the “footer” element. - </report> <report test='ancestor::h:address'> The “<name/>” element must not appear as a descendant of the “address” element. @@ -103,7 +157,16 @@ </report> </rule> + <rule context='h:table'> + <report test='ancestor::h:caption'> + The element “table” must not appear as a + descendant of the “caption” element. + </report> + </rule> + </pattern> + <!-- Interactive element exclusions --> + <pattern name='interactive element exclusions'> <!-- - Interactive descendants: @@ -116,13 +179,19 @@ - input[type!=hidden] - textarea - select - - + - img[usemap] + - embed + - iframe + - keygen + - label + - object[usemap] + - Interactive ancestors - a - button --> - <rule context='h:a|h:details'> + <rule context='h:a|h:details|h:embed|h:iframe|h:label'> <report test='ancestor::h:a'> The interactive element “<name/>” must not appear as a descendant of the “a” element. @@ -188,19 +257,25 @@ </report> </rule> + <rule context='h:object[@usemap]'> + <report test='ancestor::h:a'> + The element “object” + with the attribute “usemap” must not + appear as a descendant of the “a” element. + </report> + <report test='ancestor::h:button'> + The element “object” + with the attribute “usemap” must not + appear as a descendant of the “button” element. + </report> + </rule> + </pattern> + <!-- REVISIT fieldset http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2006-April/006181.html --> <!-- Misc requirements --> - <rule context='h:script[translate(@language, "JAVSCRIPT", "javscript")="javascript"]'> - <assert test='not(@type) or translate(@type, "EXJAVSCRIPT", "exjavscript")="text/javascript"'> - A “script” element with the - “language="JavaScript"” attribute set must not have a - “type” attribute whose value is not - “text/javascript”. - </assert> - </rule> - + <pattern name="miscellaneous requirements"> <rule context='h:area'> <assert test='ancestor::h:map'> The “area” element must have a @@ -217,15 +292,55 @@ </assert> </rule> - <rule context='h:progress[@max and @value]'> - <assert test='number(@value) <= number(@max)'> - The value of the “value” attribute must be less than or equal to - the value of the “max” attribute. + <rule context='h:input[@list]'> + <assert test='//h:datalist[@id = current()/@list] or + //h:select[@id = current()/@list]'> + The “list” attribute of the “input” + element must refer to a “datalist” element. </assert> </rule> - <rule context='h:progress[not(@max) and @value]'> - <assert test='number(@value) <= 1'> + <rule context='h:map[@id and @name]'> + <assert test='@id = @name'> + The “id” attribute on a “map” element must have an + the same value as the “name” attribute. + </assert> + </rule> + + <rule context='h:select[not(@multiple)]'> + <report test='count(descendant::h:option[@selected]) > 1'> + The “select” element cannot have more than one + selected “option” descendant unless the + “multiple” attribute is specified. + </report> + </rule> + + <rule context='h:script[translate(@language, "JAVSCRIPT", "javscript")="javascript"]'> + <assert test='not(@type) or translate(@type, "EXJAVSCRIPT", "exjavscript")="text/javascript"'> + A “script” element with the + “language="JavaScript"” attribute set must not have a + “type” attribute whose value is not + “text/javascript”. + </assert> + </rule> + + <rule context='h:time'> + <report test='ancestor::h:time'> + The element “meter” must not + appear as a descendant of the “meter” element. + </report> + </rule> + + <rule context='h:progress'> + <report test='ancestor::h:progress'> + The element “progress” must not + appear as a descendant of the “progress” element. + </report> + <assert test='@max and @value and number(@value) <= number(@max)'> + The value of the “value” attribute must be less than or equal to + the value of the “max” attribute. + </assert> + <assert test='not(@max) and @value and number(@value) <= 1'> The value of the “value” attribute must be less than or equal to one when the “max” attribute is absent. </assert> @@ -238,6 +353,10 @@ --> <rule context='h:meter'> + <report test='ancestor::h:meter'> + The element “meter” must not + appear as a descendant of the “meter” element. + </report> <report test='@min and @value and not(number(@min) <= number(@value))'> The value of the “min” attribute must be less than or equal to the value of the “value” attribute. @@ -319,35 +438,388 @@ one when the “max” attribute is absent. </report> </rule> - + </pattern> <!-- Obsolete Elements - - - - - - - - - - - - - - - - - - - - - - --> + <pattern name="obsolete elements"> + <rule context='h:acronym'> + <report test='true()'> + The “acronym” element is obsolete. Use the “abbr” element instead. + </report> + </rule> - <rule context='h:center|h:font|h:big|h:s|h:strike|h:tt|h:u|h:acronym|h:dir|h:applet - |h:basefont - |h:frameset - |h:noframes'> + <rule context='h:applet'> + <report test='true()'> + The “applet” element is obsolete. Use the “object” element instead. + </report> + </rule> + + <rule context='h:center|h:font|h:big|h:s|h:strike|h:tt|h:u|h:basefont'> <report test='true()'> The “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes </report> </rule> - <!-- required attributes - - - - - - - - - - - - - - - - - - - --> + <rule context='h:dir'> + <report test='true()'> + The “dir” element is obsolete. Use the “ul” element instead. + </report> + </rule> - <rule context='h:map[@id and @name]'> - <assert test='@id = @name'> - The “id” attribute on a “map” element must have an - the same value as the “name” attribute. - </assert> + <rule context='h:frameset|h:noframes'> + <report test='true()'> + The “<name/>” element is obsolete. + Use the “iframe” element and CSS instead, or use server-side includes. + </report> </rule> + </pattern> - <rule context='h:bdo[not(@dir)]'> + <!-- Obsolete Attributes- - - - - - - - - - - - - - - - - - - - - - --> + + <pattern name="obsolete attributes"> + <rule context='h:a|h:link'> + <report test='@coords and self::h:a'> + The “coords” attribute on the “<name/>” element is obsolete. + Use “area” instead of “a” for image maps. + </report> + <report test='@shape and self::h:a'> + The “shape” attribute on the “<name/>” element is obsolete. + Use “area” instead of “a” for image maps. + </report> + <report test='@urn and self::h:a'> + The “urn” attribute on the “<name/>” element is obsolete. + Specify the preferred persistent identifier using the “href” attribute instead. + </report> + <report test='@target and self::h:link'> + The “target” attribute on the “<name/>” element is obsolete. + You can safely omit it. + </report> + <report test='@charset'> + The “charset” attribute on the “<name/>” element is obsolete. + Use an HTTP Content-Type header on the linked resource instead. + </report> + <report test='@methods'> + The “methods” attribute on the “<name/>” element is obsolete. + Use the HTTP OPTIONS feature instead. + </report> + <report test='@rev'> + The “rev” attribute on the “<name/>” element is obsolete. + Use the “rel” attribute instead, with a term having the opposite meaning. + </report> + </rule> + + <rule context="h:area"> + <report test='@nohref'> + The “nohref” attribute on the “<name/>” element is obsolete. + Omitting the “href” attribute is sufficient. + </report> + </rule> + + <rule context='h:embed'> + <report test='@name'> + The “name” attribute on the “<name/>” element is obsolete. + Use the “id” attribute instead. + </report> + </rule> + + <rule context='h:head'> + <report test='@profile'> + The “profile” attribute on the “<name/>” element is obsolete. + To declare which “meta” terms are used in the document, instead register the + names as meta extensions. <http://wiki.whatwg.org/wiki/MetaExtensions> + To trigger specific UA behaviors, use a “link” element instead. + </report> + </rule> + + <rule context='h:html'> + <report test='@version'> + The “version” attribute on the “<name/>” element is obsolete. + You can safely omit it. + </report> + </rule> + + <rule context='h:iframe'> + <report test='@longdesc'> + The “longdesc” attribute on the “<name/>” element is obsolete. + Use a regular “a” element to link to the description. + </report> + </rule> + + <rule context='h:img'> + <report test='@longdesc'> + The “longdesc” attribute on the “<name/>” element is obsolete. + Use a regular “a” element to link to the description. + </report> + <report test='@name'> + The “name” attribute on the “<name/>” element is obsolete. + Use the “id” attribute instead. + </report> + </rule> + + <rule context='h:input'> + <report test='@usemap'> + The “usemap” attribute on the “<name/>” element is obsolete. + Use the “img” element instead of the “input” element for image maps. + </report> + </rule> + + <rule context='h:li|h:ol|h:ul'> + <report test='@type'> + The “type” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:meta'> + <report test='@scheme'> + The “scheme” attribute on the “<name/>” element is obsolete. + Use only one scheme per field, or make the scheme declaration part of the value. + </report> + </rule> + + <rule context='h:object'> + <report test='@archive'> + The “archive” attribute on the “<name/>” element is obsolete. + Use the “data” and “type” attributes to invoke plugins. + To set a parameter with the name “archive”, use the “param” element. + </report> + <report test='@classid'> + The “classid” attribute on the “<name/>” element is obsolete. + Use the “data” and “type” attributes to invoke plugins. + To set a parameter with the name “classid”, use the “param” element. + </report> + <report test='@code'> + The “code” attribute on the “<name/>” element is obsolete. + Use the “data” and “type” attributes to invoke plugins. + To set a parameter with the name “code”, use the “param” element. + </report> + <report test='@codebase'> + The “codebase” attribute on the “<name/>” element is obsolete. + Use the “data” and “type” attributes to invoke plugins. + To set a parameter with the name “codebase”, use the “param” element. + </report> + <report test='@codetype'> + The “codetype” attribute on the “<name/>” element is obsolete. + Use the “data” and “type” attributes to invoke plugins. + To set a parameter with the name “codetype”, use the “param” element. + </report> + <report test='@declare'> + The “declare” attribute on the “<name/>” element is obsolete. + Repeat the “object” element completely each time the resource is to be reused. + </report> + <report test='@standby'> + The “standby” attribute on the “<name/>” element is obsolete. + Optimise the linked resource so that it loads quickly or, at least, incrementally. + </report> + </rule> + + <rule context='h:param'> + <report test='@type'> + The “type” attribute on the “<name/>” element is obsolete. + Use the “name” and “value” attributes without declaring value types. + </report> + <report test='@valuetype'> + The “valuetype” attribute on the “<name/>” element is obsolete. + Use the “name” and “value” attributes without declaring value types. + </report> + </rule> + + <rule context='h:script[not(translate(@language, "JAVSCRIPT", "javscript")="javascript")]'> <report test='true()'> - A “bdo” element must have an - “dir” attribute. + The “language” attribute on the “script” element is obsolete. + Use the “type” attribute instead. </report> </rule> + <rule context='h:td|h:th'> + <report test='@scope and self::h:td'> + The “scope” attribute on the “<name/>” element is obsolete. + Use the “scope” attribute on a “th” element instead. + </report> + <report test='@abbr'> + The “abbr” attribute on the “<name/>” element is obsolete. + Consider instead beginning the cell contents with concise text, followed by further elaboration if needed. + </report> + <report test='@axis'> + The “axis” attribute on the “<name/>” element is obsolete. + Use the “scope” attribute. + </report> + </rule> + </pattern> + + <pattern name="obsolete presentational align attribute"> + <rule context='h:caption|h:iframe|h:img|h:input|h:object|h:embed|h:legend + |h:table|h:hr|h:div|h:h1|h:h2|h:h3|h:h4|h:h5|h:h6|h:p|h:col|h:colgroup + |h:tbody|h:td|h:tfoot|h:th|h:thead|h:tr'> + <report test='@align'> + The “align” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + </pattern> + + <pattern name="obsolete presentational width attribute"> + <rule context='h:col|h:colgroup|h:hr|h:pre|h:table|h:td|h:th'> + <report test='@width'> + The “width” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + </pattern> + + <pattern name="obsolete presentational table attributes"> + <rule context='h:col|h:colgroup|h:tbody|h:td|h:tfoot|h:th|h:thead|h:tr'> + <report test='@char'> + The “char” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@charoff'> + The “charoff” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@valign'> + The “valign” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + </pattern> + + <pattern name="obsolete presentational attributes"> + <rule context='h:body'> + <report test='@alink'> + The “alink” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@background'> + The “background” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@bgcolor'> + The “bgcolor” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@link'> + The “link” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@text'> + The “text” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@vlink'> + The “vlink” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:br'> + <report test='@clear'> + The “clear” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:hr'> + <report test='@noshade'> + The “noshade” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@size'> + The “size” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:dl|h:menu|h:ol|h:ul'> + <report test='@compact'> + The “compact” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:iframe'> + <report test='@frameborder'> + The “frameborder” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@marginheight'> + The “marginheight” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@marginwidth'> + The “marginwidth” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@scrolling'> + The “scrolling” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:img|h:object'> + <report test='@hspace'> + The “hspace” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@vspace'> + The “vspace” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@border and self::h:object'> + The “border” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:table'> + <report test='@bgcolor'> + The “bgcolor” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@border'> + The “border” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@cellpadding'> + The “cellpadding” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@cellspacing'> + The “cellspacing” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@frame'> + The “frame” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@rules'> + The “rules” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:td|h:th'> + <report test='@bgcolor'> + The “bgcolor” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@height'> + The “height” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + <report test='@nowrap'> + The “nowrap” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> + + <rule context='h:tr'> + <report test='@bgcolor'> + The “bgcolor” attribute on the “<name/>” element is obsolete. + Use CSS instead. http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes + </report> + </rule> </pattern> <!-- lang and xml:lang in XHTML - - - - - - - - - - - - - - - - - --> @@ -355,18 +827,11 @@ <pattern name='lang and xml:lang in XHTML'> <rule context='h:*[@lang and @xml:lang]'> <assert test='translate(@lang, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz") = translate(@xml:lang, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz")'> - When the attribute “lang” is specified, the element must also have - the attribute “lang” in the XML namespace present with the same - value. + When the attribute “lang” in no namespace and the attribute + “lang” in the XML namespace are both present, they must have the + same value. </assert> </rule> - <rule context='h:*[@lang and not(@xml:lang)]'> - <report test='true()'> - When the attribute “lang” is specified, the element must also have - the attribute “lang” in the XML namespace present with the same - value. - </report> - </rule> </pattern> <!-- IDREFs - - - - - - - - - - - - - - - - - - - - - - - - - - - --> @@ -382,33 +847,10 @@ </rule> </pattern> - <pattern name='list on input must refer to a select or a datalist'> - <rule context='h:input[@list]'> - <assert test='//h:datalist[@id = current()/@list] or - //h:select[@id = current()/@list]'> - The “list” attribute of the “input” - element must refer to a “datalist” element or to - a “select” element. - </assert> - </rule> - </pattern> - <!-- FIXME form attribute --> <!-- FIXME output for --> -<!-- Form Constraints - - - - - - - - - - - - - - - - - - - - - - --> - - <pattern name='Non-multiple select can have up to one selected option'> - <rule context='h:select[not(@multiple)]'> - <report test='count(descendant::h:option[@selected]) > 1'> - The “select” element cannot have more than one - selected “option” descendant unless the - “multiple” attribute is specified. - </report> - </rule> - </pattern> - <!-- Unique Definitions - - - - - - - - - - - - - - - - - - - - - --> <!-- Only one definition per term per document' --> Index: media.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/media.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- media.rnc 29 Aug 2009 01:43:08 -0000 1.1 +++ media.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -110,17 +110,3 @@ common.elem.flow |= audio.elem.flow common.elem.phrasing |= audio.elem.phrasing -## Captioned Content: <figure> - - figure.elem = - element figure { figure.inner & figure.attrs } - figure.attrs = - ( common.attrs - & common.attrs.aria.implicit.img? - ) - figure.inner = - ( ( legend.elem, common.inner.flow ) - | ( common.inner.flow, legend.elem? ) - ) - - common.elem.flow |= figure.elem Index: aria.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/aria.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- aria.rnc 29 Aug 2009 01:43:07 -0000 1.1 +++ aria.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -756,6 +756,7 @@ attribute role { string "note" } common.attrs.aria |= aria.note + common.attrs.aria.landmark.note |= aria.note ## option aria.option = @@ -848,6 +849,7 @@ attribute role { string "search" } common.attrs.aria |= aria.search + common.attrs.aria.landmark.search |= aria.search ## separator aria.separator = Index: web-forms.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/web-forms.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- web-forms.rnc 29 Aug 2009 01:43:08 -0000 1.1 +++ web-forms.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -471,7 +471,9 @@ & form.attrs.enctype? & common-form.attrs.name? & form.attrs.accept-charset? - & common.attrs.aria.implicit.region? + & ( common.attrs.aria + | common.attrs.aria.implicit.region + )? ) form.attrs.action = attribute action { Index: core-scripting.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/core-scripting.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- core-scripting.rnc 29 Aug 2009 01:43:07 -0000 1.1 +++ core-scripting.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -49,15 +49,12 @@ } script.attrs.language = attribute language { - common.data.javascript + string } - common.data.javascript = - w:string "javascript" - script.inner.embedded = - ( non-replaceable-character-data ) + ( common.inner.anything ) script.inner.imported = - ( empty ) + ( common.inner.anything ) script.elem = ( script.elem.embedded Index: tables.rnc =================================================================== RCS file: /sources/public/html5/markup/schema/tables.rnc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tables.rnc 29 Aug 2009 01:43:08 -0000 1.1 +++ tables.rnc 28 Jan 2010 17:11:53 -0000 1.2 @@ -81,7 +81,7 @@ & common.attrs.aria.implicit.region? ) caption.inner = - ( common.inner.phrasing ) + ( common.inner.flow ) # ##################################################################### ## Table Super Structure
Received on Thursday, 28 January 2010 17:12:01 UTC