W3C

XHTML Role Disposition of Comments

16 February 2008

This version:
http://www.w3.org/MarkUp/2008/xhtml-role-lc-doc-20080216.html
Latest version:
http://www.w3.org/MarkUp/xhtml-role-lc-doc.html
Editors:
Shane McCarron, Applied Testing and Technology, Inc.

Abstract

This note outlines the way in which the XHTML 2 Working Group has addressed comments received during the last call period against the Last Call Working Draft of XHTML Role.

Status of this document

During the last call period for XHTML Role the working group received a few comments. This document summarizes those comments and describes the ways in which the comments were addressed by the XHTML 2 Working Group.

Note that the majority of this document is automatically generated from the Working Group's database of comments. As such, it may contain typographical or stylistic errors. If so, these are contained in the original submissions, and the XHTML 2 Working Group elected to not change these submissions.

This document is a Note of the W3C's XHTML 2 Working Group. This Note may be updated, replaced or rendered obsolete by other W3C documents at any time. It is inappropriate to use W3C Notes as reference material or to cite them as other than "work in progress". This document is work in progress and does not imply endorsement by the W3C membership.

This document has been produced by the W3C XHTML 2 Working Group as part of the HTML Activity. The goals of the XHTML 2 Working Group are discussed in the XHTML 2 Working Group charter.

This document is governed by the 24 January 2002 CPP as amended by the W3C Patent Policy Transition Procedure. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Please send detailed comments on this document to www-html-editor@w3.org. We cannot guarantee a personal response, but we will try when it is appropriate. Public discussion on HTML features takes place on the mailing list www-html@w3.org.

A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.

Table of Contents

IssueWorking Group ActionCommentor PositionChange TypeNotes
8024: Last call comments on XHTML Role Attribute Module Modify and Accept None Editorial Addressed comments - sent a formal reply.
8019: XHTML Role Attribute Module: new values and namespaces Reject None None scoped values are an extension mechanism, and we need some mechanism for ready extension of roles. If CURIEs don't work out, we will have to consider other mechanisms, and full URIs are worthy of consideration.
8025: XHTML Role Module LC Comments Accept None Editorial We have simplified the DTD implementation.
8020: Re: Last call announcement: XHTML Role Attribute Module Accept None Editorial Thanks for pointing this out. The correct default prefix is indeed http://www.w3.org/1999/xhtml/vocab# - we have corrected the inconsistency in the text.
8027: [Role Module] Namespace for 'role' Attribute Modify and Accept None Substantive Working group agreed to permit the role attribute to be incorporated into a host language.
8021: Last call announcement: XHTML Role Attribute Module Accept None Editorial We have corrected the copyright.
8023: XHTML Role Module LC Comments Modify and Accept Agree Substantive The working group has agreed to these requests, with the exception of the title value for role (which can be achieved via other methods).
8017: XHTML Role attribute module Reject None None The role attribute specification does not require any behavior by user agents. So the interpretation of values by user agents is outside the scope of this specification. This is exactly the same as the way @class works, for example. It is a bucket for holding values.
8026: Comments on: http://www.w3.org/TR/xhtml-role/#sec_3.1 Accept None Substantive We have removed the text in 3.1 and just referred to the CURIE draft.

1. RoleAttrib

1.1 Last call comments on XHTML Role Attribute Module

PROBLEM ID: 8024

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Modify and Accept
USER POSITION: None

NOTES:

  Addressed comments - sent a formal reply.

ORIGINAL MESSAGE:

  From: "Simon Pieters" <simonp@opera.com>
  
  
  I have some comments on:
  
      http://www.w3.org/TR/2007/WD-xhtml-role-20071004/
  
  
  Document conformance says:
  
      The document MUST conform to the constraints expressed in Appendix A -
      DTD Implementation, combined with the constraints expressed in its host
      language implementation.
  
  It is unclear to me what this means. *No* document can conform to the  
  constraints expressed in that DTD, because e.g. it doesn't declare any  
  elements, and a document has to have at least one element to be  
  well-formed. So it has to be when that DTD is *combined* with the host  
  language's DTD, but this is not what the draft says.
  
  In any case, I don't see why there is a DTD in the spec in the first  
  place. Why can't all conformance requirements be expressed in English  
  prose instead? What if the host language doesn't have a DTD?
  
  
  Then it continues:
  
      If the host language is not in the XHTML namespace, the document MUST
      contain an xmlns declaration for the XHTML Role Attribute Module
      namespace [XMLNAMES].
  
  Shouldn't that be s/xmlns/xmlns:*/, since attributes cannot be in a  
  namespace and not have a prefix (declaratively, anyway).
  
  Furthermore, why require the namespace *declaration*? If I want to add a  
  namespaced role attribute with script, I shouldn't have to also add a  
  namespace declaration with script. The namespace declaration is completely  
  useless in that case.
  
  It should say that the attribute must be in the XHTML namespace, and not  
  say anything about namespace declarations.
  
  
  Host Language Conformance says:
  
      Finally, the attribute MUST be referenced using its namespace-qualified
      form (e.g., <myml:myelement xhtml:role='definition'>a
      term</myml:myelement>).
  
  This seems to be different from the previous version of the draft  where  
  it seems to imply that it is OK for host languages to use the attribute in  
  no namespace:
  
      If the host language does not incorporate the XHTML Role Attribute
      Module attribute into its own namespace, [...]
        -- http://www.w3.org/TR/2006/WD-xhtml-role-20061113/
  
  Why was this changed? Why can't other host languages use role="" in no  
  namespace?
  
  
  User Agent Conformance says:
  
      A conforming user agent MUST support all of the features required in
      this specification.
  
  As far as I can tell, there are no features required in this  
  specification, and therefore UAs can do nothing or anything and still be  
  conforming. Or to put it in another way, it seems to be impossible to  
  write test cases against this specification, and therefore it's impossible  
  to prove non-conformance.
  
  
  Compact URIs says:
  
      A CURIE is comprised of two components, a prefix and a reference. The
      prefix is separated from the reference by a colon (:). It is possible to
      omit the prefix, and make use of the default prefix. It is also possible
      to omit both the prefix and the colon, leaving just a reference.
  
  This doesn't seem to match the production:
  
      curie       :=   [ prefix [ ':' ] ] reference
  
  Shouldn't the production be:
  
      curie       :=   [ [ prefix ] ':' ] reference
  
  ...to match the prose?
  
  Why is one if prefix and the colon allowed to be omitted? Shouldn't both  
  have to be omitted, i.e.:
  
      curie       :=   [ prefix ':' ] reference
  
  ...?
  
  
  Then it continues:
  
      A CURIE is a representation of a full IRI. This IRI is obtained by
      concatenating the IRI associated with the prefix with the reference. The
      result MUST be a syntactically valid IRI [IRI].
  
  What does it mean when it isn't? What does it mean when the CURIE uses a  
  prefix that is not declared? How is CURIE equivalence performed? By  
  normalizing the two resulting IRIs? Which normalization rules are to be  
  used, in that case?
  
  If normalization rules are to be performed, then it is utterly impossible  
  to write style sheets or scripts that target a specific CURIE. It is  
  already impossible to write style sheets for QNames in content. Writing  
  scripts for QNames in content is possible but it's a great hassle.
  
  It is a great hassle because the DOM doesn't have any knowledge of QNames  
  in content, and whether a namespace declaration is in scope can change  
  over time.
  
  CURIEs have the same problem, but much worse since an IRI can be split  
  anywhere to form a CURIE, and it could use uppercase letters in the domain  
  name, specify a default port, use percentage-escaping, etc., etc.
  
  Authors will likely use the same prefixes anyway (e.g., the root element  
  start tag in RSS 1.0 is always <rdf:RDF>, even though the prefix could be  
  anything... it's just cargo-cult copy-paste boilerplate), and they  
  effectively *have to* use the same prefixes if they want to have sane  
  style sheets or scripts that target roles. By extension, it is likely that  
  some implementors will treat the role as an opaque string with a fixed  
  prefix and ignore the namespace declaration and the IRI (cf. some feed  
  readers only recognize RSS 1.0 if the prefix is "rdf:").
  
  Why are CURIEs used at all, as opposed to opaque strings with fixed  
  prefixes?
  
  
  Then it continues:
  
      The CURIE prefix '_' is reserved.
  
  Why is it reserved if CURIEs aren't opaque strings?
  
  
  The The XHTML Role Attribute section says:
  
      The role attribute takes as its value one or more whitespace separated
      CURIEs.
  
  What does "role attribute" mean? An attribute with the local name "role"  
  in no namespace? That is part of an element in the  
  http://www.w3.org/1999/xhtml namespace? An attribute with the local name  
  "role" in the http://www.w3.org/1999/xhtml namespace? What are UAs to do  
  with namespaced role that is specified on XHTML elements? What are they to  
  do with no-namespace role that is specified on non-XHTML elements?
  
  What is "whitespace"? How are UAs to extract the CURIEs from the attribute  
  value (e.g. when other specs require UAs to do something with a specific  
  CURIE)?
  
  
  Then it continues:
  
      Any non-qualified value MUST be interpreted in the XHTML namespace, and
      MUST be taken from the list defined in this section.
  
  What is the XHTML namespace? (AFAICT, it could be one of  
  http://www.w3.org/1999/xhtml or http://www.w3.org/1999/xhtml/vocab# .)
  
  Are these UA requirements? If so, what does it mean to interpret a value  
  in the XHTML namespace? What are UAs to do with non-qualified values not  
  found in the list? What about CURIEs that have a prefix that is bound to  
  the "XHTML namespace"?
  
  What are UAs to do when an element has more than one value found in the  
  list?
  
  
  Cheers,
  -- 
  Simon Pieters
  Opera Software
  

REPLY 1:


  From: Shane McCarron <xhtml2-issues@mn.aptest.com>
  
  Thanks very much for your comments, and apologies on the delay in replying.  
  The dependency of this spec on CURIEs and the evolution of the CURIE draft
  necessarily delayed our dealing with comments on the role specification.
  
  Replies are embedded below:
  
  > 
  > I have some comments on:
  > 
  >     http://www.w3.org/TR/2007/WD-xhtml-role-20071004/
  > 
  > 
  > Document conformance says:
  > 
  >     The document MUST conform to the constraints expressed in Appendix A -
  >     DTD Implementation, combined with the constraints expressed in its host
  >     language implementation.
  > 
  > It is unclear to me what this means. *No* document can conform to the  
  > constraints expressed in that DTD, because e.g. it doesn't declare any  
  > elements, and a document has to have at least one element to be  
  > well-formed. So it has to be when that DTD is *combined* with the host  
  > language's DTD, but this is not what the draft says.
  > 
  > In any case, I don't see why there is a DTD in the spec in the first  
  > place. Why can't all conformance requirements be expressed in English  
  > prose instead? What if the host language doesn't have a DTD?
  
  XHTML Modules are required to include implementation(s) and a prose 
  specification.  We have corrected the boilerplate text that you correctly 
  note is inappropriate in this specification.
  
  > 
  > 
  > Then it continues:
  > 
  >     If the host language is not in the XHTML namespace, the document MUST
  >     contain an xmlns declaration for the XHTML Role Attribute Module
  >     namespace [XMLNAMES].
  > 
  > Shouldn't that be s/xmlns/xmlns:*/, since attributes cannot be in a  
  > namespace and not have a prefix (declaratively, anyway).
  > 
  > Furthermore, why require the namespace *declaration*? If I want to add a  
  > namespaced role attribute with script, I shouldn't have to also add a  
  > namespace declaration with script. The namespace declaration is completely  
  > useless in that case.
  
  There are two issues here.  First, how do we phase the requirement for 
  declaring a namespace prefix.  We agree that "xmlns declaration" is a 
  little colloquial.  However, we do not think that xmlns:* is appropriate 
  either.  We have changed the language to indicate that you need to have a 
  namespace declaration for the XHTML Namespace as required in the namespace 
  spec.
  
  As to requiring a namespace declaration at all... First, XHTML doesn't 
  really envision the idea of adding attributes to a document after it is 
  loaded (after DOMready or the LOAD event fires). 
  
  Second, referring to an element or attribute using a namespace prefix that 
  is NOT defined is invalid - so we cannot condone that.  You need a namespace 
  declaration if you are going to reference the role attribute in its namespace.
  
  Note however that if the host language includes the role attribute in its 
  own namespace, no such declaration NOR prefixing is required.
  
  
  > It should say that the attribute must be in the XHTML namespace, and not  
  > say anything about namespace declarations.
  > 
  > 
  > Host Language Conformance says:
  > 
  >     Finally, the attribute MUST be referenced using its namespace-qualified
  >     form (e.g., <myml:myelement xhtml:role='definition'>a
  >     term</myml:myelement>).
  > 
  > This seems to be different from the previous version of the draft  where  
  > it seems to imply that it is OK for host languages to use the attribute in  
  > no namespace:
  > 
  >     If the host language does not incorporate the XHTML Role Attribute
  >     Module attribute into its own namespace, [...]
  >       -- http://www.w3.org/TR/2006/WD-xhtml-role-20061113/
  > 
  > Why was this changed? Why can't other host languages use role="" in no  
  > namespace?
  
  We have changed this back.
  
  > 
  > 
  > User Agent Conformance says:
  > 
  >     A conforming user agent MUST support all of the features required in
  >     this specification.
  > 
  > As far as I can tell, there are no features required in this  
  > specification, and therefore UAs can do nothing or anything and still be  
  > conforming. Or to put it in another way, it seems to be impossible to  
  > write test cases against this specification, and therefore it's impossible  
  > to prove non-conformance.
  
  There are no required features, you are correct.  We have removed the section.
  
  > 
  > Compact URIs says:
  > 
  >     A CURIE is comprised of two components, a prefix and a reference. The
  >     prefix is separated from the reference by a colon (:). It is possible to
  >     omit the prefix, and make use of the default prefix. It is also possible
  >     to omit both the prefix and the colon, leaving just a reference.
  > 
  > This doesn't seem to match the production:
  > 
  >     curie       :=   [ prefix [ ':' ] ] reference
  > 
  > Shouldn't the production be:
  > 
  >     curie       :=   [ [ prefix ] ':' ] reference
  > 
  > ...to match the prose?
  
  Yes, and thanks for noticing.  However, we have removed the entire section from
  the document in favor of referencing the CURIE spec.  We have taken the liberty
  of adding the remainder of your comments on CURIEs to the collection of comments
  on that document, and will respond to them in that context.
  
  
  > 
  > The The XHTML Role Attribute section says:
  > 
  >     The role attribute takes as its value one or more whitespace separated
  >     CURIEs.
  > 
  > What does "role attribute" mean? An attribute with the local name "role"  
  > in no namespace? That is part of an element in the  
  > http://www.w3.org/1999/xhtml namespace? An attribute with the local name  
  > "role" in the http://www.w3.org/1999/xhtml namespace? What are UAs to do  
  > with namespaced role that is specified on XHTML elements? What are they to  
  > do with no-namespace role that is specified on non-XHTML elements?
  
  The XHTML Modularization spec requires that you NOT use a prefixed version 
  of an attribute in the XHTML namespace on an element that is in the XHTML 
  namespace.
  
  The core of your question seems to be "what does 'role attribute' mean"?  
  In the context of this specification, the term "role attribute" is meant to 
  be interpreted as any use of role that claims to conform to this 
  specification, in whatever namespace it is being used.
  
  > 
  > What is "whitespace"? How are UAs to extract the CURIEs from the attribute  
  > value (e.g. when other specs require UAs to do something with a specific  
  > CURIE)?
  
  Whitespace is a common term used in these specifications 
  (see for example http://www.w3.org/TR/html401/struct/global.html#adef-class).  
  
  > 
  > 
  > Then it continues:
  > 
  >     Any non-qualified value MUST be interpreted in the XHTML namespace, and
  >     MUST be taken from the list defined in this section.
  > 
  > What is the XHTML namespace? (AFAICT, it could be one of  
  > http://www.w3.org/1999/xhtml or http://www.w3.org/1999/xhtml/vocab# .)
  
  That is correct.  The use of the term "namespace" there was unfortunate.
  
  We have cleared up the text.
  
  > 
  > Are these UA requirements? If so, what does it mean to interpret a value  
  > in the XHTML namespace? What are UAs to do with non-qualified values not  
  > found in the list? What about CURIEs that have a prefix that is bound to  
  > the "XHTML namespace"?
  
  The CURIE spec clarifies this.  Basically, CURIEs with no prefix are 
  permitted to be interpreted with a default prefix mapping.  What an 
  application does with that interpretation is application specific.
  
  > 
  > What are UAs to do when an element has more than one value found in the  
  > list?
  
  As you have correctly pointed out, there are no UA behavior requirements 
  in this spec.  So there is no guidance as to how single NOR multiple values 
  are to be interpted.  This is the same as, for example, the class attribute 
  in HTML 4 and XHTML.
  

1.2 XHTML Role Attribute Module: new values and namespaces

PROBLEM ID: 8019

STATE: Feedback
EDIT: None
RESOLUTION: Reject
USER POSITION: None

NOTES:

  scoped values are an extension mechanism, and we need some mechanism for ready
  extension of roles.  If CURIEs don't work out, we will have to consider other
  mechanisms, and full URIs are worthy of consideration.

ORIGINAL MESSAGE:

  From: Elliotte Harold <elharo@metalab.unc.edu>
  
  
  There's a a deep and serious problem with section 4.1, Extending the 
  collection of roles. This section states:
  
  It is possible to define additional role values. Such values MUST be 
  defined in their own namespace.
  
  We've been down this road before in other specs such as XPointer, W3C 
  Schemas and XPath. There is nothing in the Namespaces spec that in any 
  way indicates that a qualified name may apear in an attribute value. 
  There is no standard way to indicate the namespace mappings in scope for 
  an attribute *value* as distinct from an attribute *name*.
  
  1. If it it is your intention that such values inherit the namespace 
  bindings of their parent element, this must be explicitly stated. There 
  is nothing in the namespaces spec to indicate that applications can 
  apply namespace bindings to attribute values.
  
  2. This approach only works if these values only appear in an actual 
  XHTML document. If it is ever the intention to use such role values 
  outside of XHTML (or some XML-host language) you're hosed. XPath and 
  XPointer both foundered on these shoals.
  
  3. Even if the role attribute value only has meaning within an XML host 
  language, embedding QNames in attribute values is still a pragmatically 
  bad idea. We have almost ten years of experience with multiple 
  specifications to prove that QNames in attribute values confuse users 
  and complexify implementations.
  
  Please find another way to achieve your worthy goals without depending 
  on namespace prefix resolution in attribute values. I suggest simply 
  abandoning the CURIE mechanism and making the role values full, absolute 
  URIs. Unlike XPath, there really isn't a compelling reason for an 
  abbreviated syntax here. There'll usually only be one of these on any 
  given element. It's more like an href attribute than anything else. 
  People have no trouble using full URIs in those when appropriate.
  
  -- 
  Elliotte Rusty Harold  elharo@metalab.unc.edu
  Java I/O 2nd Edition Just Published!
  http://www.cafeaulait.org/books/javaio2/
  http://www.amazon.com/exec/obidos/ISBN=0596527500/ref=nosim/cafeaulaitA/
  

REPLY 1:


  From: Shane McCarron <xhtml2-issues@mn.aptest.com>
  
  Thanks for your comment.
  
  scoped values are an extension mechanism, and we need some mechanism for ready
  extension of roles. If CURIEs don't work out, we will have to consider other
  mechanisms, and full URIs are worthy of consideration.

1.3 XHTML Role Module LC Comments

PROBLEM ID: 8025

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: None

NOTES:

  We have simplified the DTD implementation.

ORIGINAL MESSAGE:

  From: "Martin Kliehm" <martin.kliehm@bluemars.net>
  
  
  Reference:
  http://www.w3.org/TR/2007/WD-xhtml-role-20071004/
  
  It might be a few hours late, but I wanted to remark that the DTD
  implementation is a little cumbersome. Currently it would look like this:
  
  
  <!-- bring in the Role Attribute Module -->
  <!ENTITY % xhtml-role.mod
      PUBLIC "-//W3C//ENTITIES XHTML Role Attribute 1.0//EN"
          "http://www.w3.org/MarkUp/DTD/xhtml-role-1.mod">
  %xhtml-role.mod;
  <!ENTITY % xhtml-role-qname.mod
      PUBLIC "-//W3C//ENTITIES XHTML Role Attribute Qnames 1.0//EN"
         "http://www.w3.org/MarkUp/DTD/xhtml-role-qname-1.mod">
  %xhtml-role-qname.mod;
  
  <!-- add the 'role' attribute to common elements -->
  <!ENTITY %Common.extra.attrib "%xhtml-role.attrs.qname;">
  
  
  I understand that the universal approach of the role module does allow it
  to be included in other languages and thus the extension of
  Common.extra.attrib cannot be achieved within the module because that
  would be too XHTML specific. On the other hand that's exactly what other
  modules like the target module do.
  
  Alas it is quite inconvenient to manually implement both xhtml-role-1.mod
  and xhtml-role-qname-1.mod. Since xhtml-role-1.mod "does nothing," I would
  like to suggest to include the call of xhtml-role-qname-1.mod within
  xhtml-role-1.mod:
  
  
  <!-- bring in the Role Attribute Module -->
  <!ENTITY % xhtml-role.mod
      PUBLIC "-//W3C//ENTITIES XHTML Role Attribute 1.0//EN"
          "http://www.w3.org/MarkUp/DTD/xhtml-role-1.mod">
  %xhtml-role.mod;
  
  <!-- add the 'role' attribute to common elements -->
  <!ENTITY %Common.extra.attrib "%xhtml-role.attrs.qname;">
  
  
  With xhtml-role-1.mod looking like this:
  
  <!--
  ...................................................................... -->
  <!-- XHTML Role Module
  .................................................... -->
  <!-- file: xhtml-role-1.mod
       This is XHTML Role - the Role Attribute Module for XHTML.
       Copyright 2006 W3C (MIT, ERCIM, Keio), All Rights Reserved.
       This DTD module is identified by the PUBLIC and SYSTEM identifiers:
         PUBLIC "-//W3C//ENTITIES XHTML Role Attribute 1.0//EN"
         SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-role-1.mod"
       Revisions:
       (none)
       .......................................................................
  -->
  
  <!-- bring in the Qualified Name module (required) -->
  <!ENTITY % xhtml-role-qname.mod
  	PUBLIC "-//W3C//ENTITIES XHTML Role Attribute Qnames 1.0//EN"
         "http://www.w3.org/MarkUp/DTD/xhtml-role-qname-1.mod">
  %xhtml-role-qname.mod;
  
  <!-- end of xhtml-role-1.mod -->
  
  
  Also I would like to point out that there might be a conflict with WAI
  roles and states, though this could be based on my limited knowledge of
  the DTD syntax. If the role attribute is bolted onto XHTML elements with
  
    <!ENTITY %Common.extra.attrib "%xhtml-role.attrs.qname;">
  
  but Common.extra.attrib also needs to be appended by
  
    <!ENTITY %Common.extra.attrib "%aaa.attrs.qname;">
  
  the latter overwrites the first. Or could this be solved by using ATTLIST?
  
  
  That said I do very much appreciate the role attribute as it is closing a
  semantic gap and adds accessibility. Also with a single attribute a lot of
  bloated extra elements in HTML5 can be avoided.
  
  Best regards,
    Martin Kliehm
  

1.4 Re: Last call announcement: XHTML Role Attribute Module

PROBLEM ID: 8020

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: None

NOTES:

  Thanks for pointing this out.  The correct default prefix is indeed
  http://www.w3.org/1999/xhtml/vocab# - we have corrected the inconsistency in the
  text.

ORIGINAL MESSAGE:

  From: Masataka Yakura <yakura-masataka@mitsue.co.jp>
  
  
  This is a multi-part message in MIME format.
  --------------020605050603070203090107
  Content-Type: text/plain; charset=ISO-8859-15; format=flowed
  Content-Transfer-Encoding: 7bit
  
  Hi, folks.
  
  > This is a last call announcement for:
  > 
  >     XHTML Role Attribute Module
  >     A module to support role classification of elements
  >     http://www.w3.org/TR/xhtml-role/ 
  
  And the Japanese translation is ready :)
  http://standards.mitsue.co.jp/resources/w3c/TR/2007/WD-xhtml-role-20071004/
  (Oops, seems I mistyped the date, will correct it later).
  
  Some questions:
  
  1. There's missing ">" (&gt;) in rdf:RDF element (Appendix B)
  > ...
  >     xmlns:states="http://www.w3.org/2005/07/aaa#" 
  >     xmlns:wairole="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#" <- here!
  >     <owl:Class rdf:ID="banner">
  > ...
  
  2. I wonder in which namespace that non-qualified role values are 
  interpreted.
  
  In sec 3.1.1 the CURIE syntax defines "If the prefix is omitted from a 
  CURIE, the default value of http://www.w3.org/1999/xhtml/vocab# MUST be 
  used." [1] However, the rightafter Sec 4 tells that "Any non-qualified 
  value MUST be interpreted in the XHTML namespace" [2].
  
  If I'm not misunderstood, the prefix-omitted CURIE and non-qualified 
  role value means the same thing (e.g. role="somevalue"). Then, what's 
  the namespace for such value, 1999/xhtml/vocab# , 1999/xhtml , or 
  1999/xhtml# [3]?
  
  3. Similarly, the value for xml:base in taxonomy uses the XHTML 
  namespace http://www.w3.org/1999/xhtml .
  <rdf:RDF xml:base="http://www.w3.org/1999/xhtml"
  > <rdf:RDF xml:base="http://www.w3.org/1999/xhtml" 
  > ...
  
  Hence the full URI reference would be like 
  http://www.w3.org/1999/xhtmlbanner and we'll have hard time finding 
  which one's the namespace or which one's the Class identifier. I wonder 
  what's the right value for the attribute, xhtml# or xmtml/vocab# .
  
  
  [1] http://www.w3.org/TR/xhtml-role/#sec_3.1.1.
  [2] http://www.w3.org/TR/xhtml-role/#s_role_module_attributes
  [3] http://www.w3.org/2007/09/26-xhtml-minutes#item04
  
  
  Thanks,
  -- 
  Masataka Yakura
  yakura-masataka@mitsue.co.jp
  
  Front-end Engineer
  Research and Development Division
  Mitsue-Links Co., Ltd.
  
  http://www.mitsue.co.jp/english/
  
  --------------020605050603070203090107
  Content-Type: text/x-vcard; charset=utf-8;
   name="yakura-masataka.vcf"
  Content-Transfer-Encoding: 7bit
  Content-Disposition: attachment;
   filename="yakura-masataka.vcf"
  
  begin:vcard
  fn:Masataka Yakura
  n:Yakura;Masataka
  org:Mitsue-Links Co., Ltd.;Research and Development Division
  adr:6-22-1 Nishi-Shinjuku;;Shinjuku Square Tower 15F, 18F;Shinjuku-ku;Tokyo;163-1115;Japan
  email;internet:yakura-masataka@mitsue.co.jp
  title:Front-end Engineer
  x-mozilla-html:FALSE
  url:http://www.mitsue.co.jp/english/
  version:2.1
  end:vcard
  
  
  --------------020605050603070203090107--
  

REPLY 1:


  From: Shane McCarron <xhtml2-issues@mn.aptest.com>
  
  Thanks for pointing this out.  The correct default prefix is indeed
  http://www.w3.org/1999/xhtml/vocab# - we have corrected the inconsistency in the
  text.
  
  > 
  > Hi, folks.
  > 
  >> This is a last call announcement for:
  >> 
  >>     XHTML Role Attribute Module
  >>     A module to support role classification of elements
  >>     http://www.w3.org/TR/xhtml-role/ 
  > 
  > And the Japanese translation is ready :)
  > http://standards.mitsue.co.jp/resources/w3c/TR/2007/WD-xhtml-role-20071004/
  > (Oops, seems I mistyped the date, will correct it later).
  > 
  > Some questions:
  > 
  > 1. There's missing ">" (>) in rdf:RDF element (Appendix B)
  >> ...
  >>     xmlns:states="http://www.w3.org/2005/07/aaa#" 
  >>     xmlns:wairole="http://www.w3.org/2005/01/wai-rdf/GUIRoleTaxonomy#" <-
  > here!
  >>     <owl:Class rdf:ID="banner">
  >> ...
  > 
  > 2. I wonder in which namespace that non-qualified role values are 
  > interpreted.
  > 
  > In sec 3.1.1 the CURIE syntax defines "If the prefix is omitted from a 
  > CURIE, the default value of http://www.w3.org/1999/xhtml/vocab# MUST be 
  > used." [1] However, the rightafter Sec 4 tells that "Any non-qualified 
  > value MUST be interpreted in the XHTML namespace" [2].
  > 
  > If I'm not misunderstood, the prefix-omitted CURIE and non-qualified 
  > role value means the same thing (e.g. role="somevalue"). Then, what's 
  > the namespace for such value, 1999/xhtml/vocab# , 1999/xhtml , or 
  > 1999/xhtml# [3]?
  > 
  > 3. Similarly, the value for xml:base in taxonomy uses the XHTML 
  > namespace http://www.w3.org/1999/xhtml .
  > <rdf:RDF xml:base="http://www.w3.org/1999/xhtml"
  >> <rdf:RDF xml:base="http://www.w3.org/1999/xhtml" 
  >> ...
  > 
  > Hence the full URI reference would be like 
  > http://www.w3.org/1999/xhtmlbanner and we'll have hard time finding 
  > which one's the namespace or which one's the Class identifier. I wonder 
  > what's the right value for the attribute, xhtml# or xmtml/vocab# .
  > 
  > 
  > [1] http://www.w3.org/TR/xhtml-role/#sec_3.1.1.
  > [2] http://www.w3.org/TR/xhtml-role/#s_role_module_attributes
  > [3] http://www.w3.org/2007/09/26-xhtml-minutes#item04

1.5 [Role Module] Namespace for 'role' Attribute

PROBLEM ID: 8027

STATE: Approved and Implemented
EDIT: Substantive
RESOLUTION: Modify and Accept
USER POSITION: None

NOTES:

  Working group agreed to permit the role attribute to be incorporated into a
  host
  language.

ORIGINAL MESSAGE:

  From: Doug Schepers <schepers@w3.org>
  
  
  Hi, XHTML2 WG-
  
  I believe I've mentioned this in emails to this list before, but I 
  wanted to make sure you had a Last Call comment about it (my apologies 
  for it being a bit late, I didn't realize the deadline was coming up so 
  soon).
  
  The  XHTML Role Attribute Module [1] states in section 2.2. ("Host 
  Language Conformance") that, "the attribute MUST be referenced using its 
  namespace-qualified form (e.g., <myml:myelement 
  xhtml:role='definition'>a term</myml:myelement>)." [2]
  
  An earlier version of the spec [3] did not have this constraint, stating 
  instead that, "If the host language does not incorporate the XHTML Role 
  Attribute Module attribute into its own namespace, the document MUST 
  contain an xmlns declaration for the XHTML Role Attribute Module 
  namespace".  While this is a conformance statement on the document, it 
  seems to have implications for host language conformance as well, 
  implying a more relaxed approach that allows a host language to 
  incorporate the module directly, without need for the namespace 
  declaration and prefix.
  
  I have no problem with requiring namespaces per se, but I don't see the 
  rationale in this instance.
  
  In the case of complex specs with intertwingled aspects and multiple 
  internal dependencies, or a large number of elements or attributes, and 
  a commensurately complex or large schema/DTD, there is clear 
  justification for requiring that the whole be used, and maintained in 
  its own namespace.
  
  But the 'role' attribute is only one attribute and its value type, and 
  even that type is ultimately meant to be spun off into its own spec, 
  CURIEs.  I don't see the pragmatic or even theoretical gains for 
  referencing the XHTML NS for a single attribute (in SVG, for instance). 
    If I'm missing something, please let me know what it is.
  
  I believe that the use of the XHTML NS should be optional in the case of 
  host language conformance.  There are good reasons for giving the option 
  of a separate NS, so that it can still be used by authors in languages 
  that don't support it directly; but if a language wants to support it 
  directly, I think there should not be the namespace requirement, merely 
  the stricture that the host language should not change or add to the 
  semantics or conformance criteria of the 'role' attribute, and a 
  normative reference to the XHTML Role Attribute Module.
  
  (Disclaimer: Please note that this is my own opinion, and doesn't 
  necessarily reflect that of the WGs that I'm in, or the W3C in general.)
  
  [1] http://www.w3.org/TR/xhtml-role/
  [2] http://www.w3.org/TR/xhtml-role/#hostconf
  [3] http://www.w3.org/TR/2006/WD-xhtml-role-20060725/#docconf
  
  Regards-
  -Doug Schepers
  W3C Staff Contact, SVG, CDF, and WebAPI
  

1.6 Last call announcement: XHTML Role Attribute Module

PROBLEM ID: 8021

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: None

NOTES:

  We have corrected the copyright.

ORIGINAL MESSAGE:

  From: "Rotan Hanrahan" <rotan.hanrahan@mobileaware.com>
  
  
  As Role was a main concern during the Metadata for Content Adaptation
  workshop (in 2004), I welcome this module. I have briefly read through
  it, and commend the foresight of extensible roles, plus the baseline of
  simple roles in the default namespace. I expect that my colleagues in
  the UWA will respond as a group in due course, but I offer this quick
  (and trivial) observation that the copyright year should be 2007, no?
  
  Regards,
  
  ---Rotan.
  
  -----Original Message-----
  From: chairs-request@w3.org [mailto:chairs-request@w3.org] On Behalf Of
  Steven Pemberton
  Sent: 05 October 2007 17:52
  To: chairs@w3.org; XHTML WG
  Cc: www-html@w3.org
  Subject: Last call announcement: XHTML Role Attribute Module
  
  
  This is a last call announcement for:
  
  	XHTML Role Attribute Module
  	A module to support role classification of elements
  	http://www.w3.org/TR/xhtml-role/
  
  Comments should be sent to www-html-editor@w3.org
  
  The review ending date is 26 October 2007
  
  The group resolved to make this transition at
  	http://www.w3.org/2007/07/11-xhtml-minutes#item03
  
  We particularly invite the Protocols & Formats Working Group of the Web
  
  Accessibility Initiative and the Ubiquitous Web Applications WG to
  review.
  
  For some background information, we refer you to
  http://www.w3.org/TR/aria-roadmap/ and  
  http://developer.mozilla.org/en/docs/Accessible_DHTML
  
  Patent disclosure page:
  	http://www.w3.org/2004/01/pp-impl/32107/status
  
  Best wishes,
  
  Roland Merrick, Steven Pemberton
  
  

REPLY 1:


  From: Shane McCarron <xhtml2-issues@mn.aptest.com>
  
  We have corrected the copyright dates - thanks for your comment!
  
  
  > As Role was a main concern during the Metadata for Content Adaptation
  > workshop (in 2004), I welcome this module. I have briefly read through
  > it, and commend the foresight of extensible roles, plus the baseline of
  > simple roles in the default namespace. I expect that my colleagues in
  > the UWA will respond as a group in due course, but I offer this quick
  > (and trivial) observation that the copyright year should be 2007, no?
  > 
  > Regards,
  > 
  > ---Rotan.
  > 
  > -----Original Message-----
  > From: chairs-request@w3.org [mailto:chairs-request@w3.org] On Behalf Of
  > Steven Pemberton
  > Sent: 05 October 2007 17:52
  > To: chairs@w3.org; XHTML WG
  > Cc: www-html@w3.org
  > Subject: Last call announcement: XHTML Role Attribute Module
  > 
  > 
  > This is a last call announcement for:
  > 
  > 	XHTML Role Attribute Module
  > 	A module to support role classification of elements
  > 	http://www.w3.org/TR/xhtml-role/
  > 
  > Comments should be sent to www-html-editor@w3.org
  > 
  > The review ending date is 26 October 2007
  > 
  > The group resolved to make this transition at
  > 	http://www.w3.org/2007/07/11-xhtml-minutes#item03
  > 
  > We particularly invite the Protocols & Formats Working Group of the Web
  > 
  > Accessibility Initiative and the Ubiquitous Web Applications WG to
  > review.
  > 
  > For some background information, we refer you to
  > http://www.w3.org/TR/aria-roadmap/ and  
  > http://developer.mozilla.org/en/docs/Accessible_DHTML
  > 
  > Patent disclosure page:
  > 	http://www.w3.org/2004/01/pp-impl/32107/status
  > 
  > Best wishes,
  > 
  > Roland Merrick, Steven Pemberton
  > 
  > 
  > 

1.7 XHTML Role Module LC Comments

PROBLEM ID: 8023

STATE: Approved and Implemented
EDIT: Substantive
RESOLUTION: Modify and Accept
USER POSITION: Agree

NOTES:

  The working group has agreed to these requests, with the exception of the title
  value for role (which can be achieved via other methods).

ORIGINAL MESSAGE:

  From: Al Gilman <Alfred.S.Gilman@IEEE.org>
  
  
  <note
  class="inTransmittal">
  Reference:
  http://www.w3.org/TR/2007/WD-xhtml-role-20071004/
  
  Here are the Last Call comments on this draft from PFWG.
  
  We would be glad to discuss them with you if anything is
  unclear or contentious.
  
  Al
  
  /chair, PFWG
  
  </note>
  
  Having reviewed the XHTML Role Module draft of 4 October 2007, and
  having tracked the draft's progress over the course of its development,
  the PFWG is pleased to report that the document admirably suits the
  PFWG's needs and concerns and provides several prominent illustrations
  of how one can use the role extension model to create custom roles that
  benefit accessibility.
  
  Accessibility concerns and advice are woven into the woof and weave of
  the XHTML Role Attribute Module, which is a model of integrating what
  once may have been denigrated as "merely" accessibility concerns into
  "mainstream" concerns -- not merely in the document's prose, but in
  its examples, as well.
  
  
  The XHTML Roles Module meets all of the PFWG's requirements, with the
  exception of the following requests:
  
  
  1. The addition of explicit markup, which is consistent across formats,
  for including ARIA in HTML, XML, XHTML, and other XML-dialects and
  specialized markup languages.  The PFWG has specified ARIA as a
  cross-cutting technology, so the issue of embedding ARIA through the use
  of the XHTML Role Module in a consistent, standardized manner -- no
  matter what the format in which it is embedded -- is paramount;
  
  
  2. The PFWG also notes that including "role" via the XHTML namespace
  would not require changes to SVG, and could easily be (and, should be)
  incorporated into SVG 1.2 Full (http://www.w3.org/TR/SVG12/)
  
  However, there's no provision in the XHTML Role Module for a host
  language to integrate it without using the XHTML namespace, whereas the
  pre-Last Call drafts allowed bare-name integration.  According to
  discussions with implementors of XML-based languages (especially in the
  realm of specialized markup), the latter would be preferable. Therefore,
  the PFWG would like to inquire why that was deemed impractical?
  
  
  3. The PFWG requests the addition of the value of "title" to the list of
  predefined roles
  
  3A) Rationale:
  
    * Currently, there are predefined roles for "contentinfo", "main" and
      "secondary" -- why is there not a predefined role for title?  Title
      is a natural extension to the list of predefined roles -- for
      example, at the University of Illinois, Urbana-Champagne (UIUC) a
      tool has been developed based on a simple algorithm: H1 content is
      usually (or should usually be) a sub-string of the content of the
      TITLE element -- the UIUC tools look for that pattern, and if it is
      not found, it is flagged: for example, "H1 doesn't match TITLE" or
      "no H1 in document"; however, an author may have included the title
      in a level2 heading, or there may be text in the document that
      better titles the page than the contents defined for the TITLE
      element. Therefore, the algorithm is not hierarchical, but numeric
      -- if not H1, then H2, and so on.  No matter where the content
      which "titles" the document is in a heading or inline prose, the
      repair feature of the UIUC tool is predicated on the best practices
      rule that every document has an implicit H1 derived from its TITLE,
      no matter how the TITLE is defined -- using the TITLE element or
      through the use of the predefined role "title".
  
  
  ----------------------------------------------------------
  ACCOUNTABILITY, n. The mother of caution.
                    -- Ambrose Bierce, The Devil's Dictionary
  ----------------------------------------------------------
            Gregory J. Rosmaita, oedipus@hicom.net
         Camera Obscura: http://www.hicom.net/~oedipus/
  UBATS-United Advocates for Talking Signs: http://ubats.org
  ----------------------------------------------------------
  

1.8 XHTML Role attribute module

PROBLEM ID: 8017

STATE: Approved and Implemented
EDIT: None
RESOLUTION: Reject
USER POSITION: None

NOTES:

  The role attribute specification does not require any behavior by user agents. 
  So the interpretation of values by user agents is outside the scope of this
  specification.  This is exactly the same as the way @class works, for example. 
  It is a bucket for holding values.

ORIGINAL MESSAGE:

  From: Jason White <jason@jasonjgw.net>
  
  
  This question applies to the XHTML Role Attribute Module draft and to the
  corresponding section in the published XHTML 2.0 working draft.
  
  "The ROLE attribute takes as its value one or more white-space-separated
  QNames" (section 3).
  
  How should user agents treat a role attribute containing two or more QNames,
  the semantics of which, and hence the behaviours associated with which, are
  mutually exclusive? This is the case in which the author of the XHTML 
  document specifies mutually incompatible roles for the same element.
  
  Informally, I would expect the user agent's implementation of role to operate
  somewhat as follows:
  
  1. Taking namespace qualifications into account, obtain the intersection of
  the set of roles specified in the value of the ROLE attribute, and the set of
  roles recognized by the user agent.
  
  2. Perform whatever processing (in the most general sense of the term) is
  associated with each of those roles.
  
  Unless I am mistaken (which is perfectly possible) there is scope for an
  interoperability problem to arise when mutually inconsistent roles are
  specified: user agents could differ regarding which role is given precedence
  in this circumstance.
  
  A simple rule, for example that the first role specified in the value of the
  attribute takes priority over later, incompatible roles, would suffice to
  address this problem.
  

1.9 Comments on: http://www.w3.org/TR/xhtml-role/#sec_3.1

PROBLEM ID: 8026

STATE: Approved and Implemented
EDIT: Substantive
RESOLUTION: Accept
USER POSITION: None

NOTES:

  We have removed the text in 3.1 and just referred to the CURIE draft.

ORIGINAL MESSAGE:

  From: "Williams, Stuart (HP Labs, Bristol)" <skw@hp.com>
  
  
  Re: http://www.w3.org/TR/xhtml-role/#sec_3.1.
  
  1) Section 3.1 falls inside the scope of section 3. which claims
  normative force. However, sction 3.1.1 indicates "Note that this syntax
  definition will ultimately be defined in an external document [CURIE]."
  
  Please complete the work of creating the referenced external document
  and remove section 3.1 and its subsections from this document.
  
  I'd further note that the collection of documents:
  	a) http://www.w3.org/TR/xhtml-role/
  	b) http://www.w3.org/MarkUp/2007/ED-rdfa-syntax-20070927/
  	c) http://www.w3.org/MarkUp/2007/ED-curie-20070905/
  
  Does not present a consistent picture of which articulation of CURIEs it
  is intended to develop along the REC track. a) cites a version of c)
  while b) seems self contained.
  
  2) Section 3.1 states: 
  
  "In order to allow for the scoped expression of role values, this
  specification uses a superset of of QNames that allows the contraction
  of all URIs (QNames have a syntactic restriction on the sorts of URI
  that can be contracted).
  
  These Compact URIs are called CURIEs here."
  
  Please make it *very* clear that CURIEs are a syntactic superset of
  QNAMEs only. The value space of CURIEs and QNAMES are very different -
  the former being URIs (or maybe IRIs) and the latter being a pair of a
  URI and a local name.
  
  3) It is not clear to me where the onus lines to either a) update the
  XML Schema Datatype definition of xsd:anyURI to accomodate CURIEs or b)
  to define an XML Schema Datatype definition so that the use of CURIE can
  be properly specified in XML Schema based language specifications.
  However, if CURIEs are to be 1st class citizens that work needs to be
  done somewhere.
  
  4) The text here and similar text at
  http://www.w3.org/MarkUp/2007/ED-rdfa-syntax-20070927/#s_curies are
  different and inconsistent wrt to which URI to use in the absense of a
  prefix. Also, the optionality of the ':' differs between the two. I
  think the other document has it correct. Please at least align the two
  text, and preferably complete the external process of defining CURIEs. 
  
  5) In the absense of a prefix a CURIE is taken has having default ?? of
  http://www.w3.org/1999/xhtml/vocab#. Given that all prefix expansion is
  seem aligned with in-scope namespace decls,  I'd expect the defaulting
  to be similarly aligned. Also, given the potentially generic nature of
  CURIEs as a construct in other languages, I would rather its defaulting
  was not bound to the the XHTML namespace.
  
  Regards
  
  Stuart Williams
  
  Hewlett-Packard Limited registered Office: Cain Road, Bracknell, Berks
  RG12 1HN Registered No: 690597 England
  
  Hewlett-Packard Limited registered Office: Cain Road, Bracknell, Berks
  RG12 1HN
  Registered No: 690597 England