- From: Ian B. Jacobs <ij@w3.org>
- Date: Thu, 28 Mar 2002 17:45:48 -0500
- To: w3c-wai-ua@w3.org
Dear UAWG and AT vendors,
Many thanks to those who attended today's teleconference (minutes
[1]) to discuss our DOM requirements (see guideline 6 of the 12
Sep 2001 Candidate Recommendation of UAAG 1.0).
The goal of the teleconference was to confirm whether the
requirement of UAAG 1.0 to implement the DOM 2 Core for access to
XML/HTML content:
(1) meets the needs of AT developers, and
(2) promotes interoperability in practice.
We did not get a definitive answer to either question on the
call. However, we made good progress because we are going to look
more closely at what the communication needs are. We may not
satisfy all of them in UAAG 1.0, but we may be able to formulate
requirements that come closer to satisfying them.
The goal of this proposal is to help start discussion on what a
"minimal set" of requirements are for information that must be
communicated through an API between user agent and API. At
today's call, we asked everyone to send their functional
requirements for an API to the list. This proposal complements
those actions; it will be valuable to see whether people's "top
5" functional requirements line up with the XML Infoset (see
below). Aaron Leventhal has already contributed to the discussion
[3] by describing what information is offered by Mozilla's
"simple dom API".
This proposal is based on a conversation with Philippe Le Hegaret
after today's UAWG teleconference.
========
Proposal
========
Preface:
* During the teleconference, we talked about identifying a
minimal API that would meet the needs of AT developers.
* The XML Infoset is a W3C Recommendation that carefully
identifies pieces of XML content. A subset of the XML
Infoset can be used to describe pieces of HTML content.
* Our efforts to talk about what information should be
available to ATs should be coordinated with the
work on the Infoset.
* Point three of the proposal is the minimal set of
information for HTML.
<Old 6.1>
Provide programmatic read access to HTML and XML content by
conforming to the following modules of the W3C Document Object
Model DOM Level 2 Core Specification [DOM2CORE] and exporting
the interfaces they define:
* the Core module for HTML;
* the Core and XML modules for XML.
</Old 6.1>
Note: I'm not concerned about the exact wording in what
follows, but comments on wording are welcome.
New:
1) In a java or ecmascript operating environment, provide
programmatic read access to XML content by conforming to the Core
and XML modules of the W3C Document Object Model (DOM) Level 2
Core Specification and exporting the interfaces they define.
COMMENT: The java and ecmascript bindings in DOM Level 2 Core
are normative, and therefore the DOM is the best way to
provide access to the XML information items. We heard a number
of AT developers say today they wish they had normative
bindings in C++ as well, but DOM 2 does not define them.
2) In other operating environments, provide programmatic read
access to XML content by making available the pieces defined by
the W3C XML Infoset [4]. A user agent satisfies this requirement
by providing programmatic read access to XML content by
conforming to the Core and XML modules of the W3C Document Object
Model (DOM) Level 2 Core Specification and exporting the
interfaces they define.
COMMENT: I'm not yet certain how to make references to the XML
Infoset. I will look into whether this type of reference makes
sense. This comment applies to the next point as well.
3) Provide access programmatic read access to HTML content
by making available the following pieces defined by the
W3C XML Infoset [4]:
2.1 The Document Information item:
children, document element, base URI, charset
2.2 Element Information items:
element-type name, children, attributes, parent
2.3 Attribute Information items:
attribute-type name, normalized value, specified,
attribute type, references, owner element
2.6 Character Information items:
character code, element content whitespace (see comment),
parent element
2.7 Comment Information items:
content, parent
Optional:
2.8 The Document Type Declaration Information item:
system identifier, public identifier, parent
A user agent satisfies this requirement by providing
programmatic read access to XML content by conforming to the
Core module of the W3C Document Object Model (DOM) Level 2
Core Specification and exporting the interfaces it defines.
COMMENT: I'm not sure whether element content whitespace
should be optional or mandatory. This is useful for formatting
markup when saving a persistent representation. It may not
be necessary for ATs. This whitespace is only for formatting
the source code.
4) For points 2 and 3 above, provide access to the infoset
by implementing at least one API that is either
* defined by a W3C Recommendation, or
* a publicly documented API designed to enable
interoperability with assistive technologies.
If no such API is available, or if available APIs do not
enable the user agent to satisfy the requirements, implement
at least one publicly documented API to satisfy the
requirements, and follow operating environment conventions for
the use of input and output APIs.
COMMENT: I believe that point four will end up being extracted
into its own checkpoint, and will apply to additional
checkpoints (like 6.3) in Guideline 6.
[1]
http://lists.w3.org/Archives/Public/w3c-wai-ua/2002JanMar/0120
[2]
http://www.w3.org/TR/2001/CR-UAAG10-20010912/guidelines#gl-accessible-interface
[3] http://lists.w3.org/Archives/Public/w3c-wai-ua/2002JanMar/0117
[4] http://www.w3.org/TR/2001/REC-xml-infoset-20011024
--
Ian Jacobs (ij@w3.org) http://www.w3.org/People/Jacobs
Tel: +1 718 260-9447
Received on Thursday, 28 March 2002 17:46:00 UTC