- 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