Input: [Target] Previous target element [Cancelable?] — [Drag data store mode] Protected mode [dropEffect] "none" [Default Action] None [Event Name]

Output: dragleave

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Target] Current target element [Cancelable?] ✓ Cancelable [Drag data store mode] Protected mode [dropEffect] Based on effectAllowed value [Default Action] Reset the current drag operation to "none" [Event Name]

Output: dragover

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Target] Current target element [Cancelable?] ✓ Cancelable [Drag data store mode] Read-only mode [dropEffect] Current drag operation [Default Action] Varies [Event Name]

Output: drop

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Target] Source node [Cancelable?] — [Drag data store mode] Protected mode [dropEffect] Current drag operation [Default Action] Varies [Event Name]

Output: dragend

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Model Aspect] End-point basics [Linked Data Platform (LDP)]

Output: A LDP server exposes at least one URI to a container-type resource. A client can learn about the container and its contents (members), by simply fetching the container. If only the non-member information is needed, a client can request only that. If a client needs to know if it can create things in this container, then usual HTTP methods can be used such as HEAD or OPTIONS to learn about which verbs are permitted on the request URI. Need: It might be useful to define a common property for external vocabularies to use to indicate the end-point, take for example: Alternative: LDP provides no new facilities for web clients to acquire URLs to Containers. Web clients might use out of band knowledge, home resources, POWDER, emailing a friend a link, or any other mechanism deemed appropriate by the application's needs. It is possible for a server to expose a single Container as a home resource, which web clients GET and examine to locate other resources (including other Containers). It is also possible for that same home resource to be serialized and provided to a client as a document. LDP assumes that each client is able to obtain whatever URLs it needs through non-LDP means, and restricts itself to an interaction model for Containers and their members.

Difference between revisions of "ISSUE-37" - Linked Data Platform


Input: [Model Aspect] Container basics [Linked Data Platform (LDP)]

Output: A container has a URI where you can start interacting with the container, at the most basic level you can GET a list of members, and for containers with many members it is likely the response is broken into pages. Through HTTP HEAD/OPTIONS introspection, a client can learn which HTTP verbs are permitted on this. Since LDP containers are described using RDF constructs, a LDP server may allow clients to POST the representation of the container to create it. Need: How are the acceptable content-types communicated via HTTP headers? Alternative: Before asking 'how' acceptable content-types are communicated, we need to agree that doing so is required (should it be in-scope for LDP - part of ISSUE-21 perhaps). In the simplest case, once the client "knows" it is dealing with a conformant LDP Container it does know (at least) that Turtle is supported. If communicating supported content-types is in-scope, then a syntax needs to be defined (either new, or re-used). Potential re-use choices might include (and these are not necessarily mutually exclusive, although to keep clients simple it would help to have at least one required method if it is in-scope): atom:accept predicate(s) on a container Link: <>; rel="self"; type="one acceptable media type value" Linking itself to a POWDER document - I don't see any POWDER syntax covering media types, but it might be possible to re-use atom:accept in this context. Aside: If we do place it in-scope, we have the same question about members, so it might be that we talk about this introspection at the LDPR level and let LDPCs "inherit" it from LDPRs. LDPRs might leave everything optional, and LDPC requires one particular method while allowing others, for example.

Difference between revisions of "ISSUE-37" - Linked Data Platform


Input: [Model Aspect] Creating container members (resources) [Linked Data Platform (LDP)]

Output: Any kind of resource can be listed in a container, and everything that is in a container is represented by a member. Members follow the standardized metadata model defined by RDF. If a client has POSTed a "media resource" (pretty much anything other than RDF) to a container URI, which has one of the media types that the container accepts, the server accepts this media resource and creates the resource, which will then represent this media resource when you list the container contents. The interesting aspect of this setup is that you POST one thing, its representation gets converted by the server to some appropriate storage and its membership added to the container. email: there is only one container, and what you POST determines whether it's self-contained or not. if the POSTed resource contains all data (... in XML), it's what we now call "composition". if the POSTed resource contains a link to "external content" ( in XML), it's what we now call "aggregation". Servers might try to be smart about populating additional data fields for the resource, for example creation date and who created it. They also might consider come properties to be "server managed", i.e. read-only from any client's point of view. ISSUE-11 questions how much the LDP spec constrains them.

Difference between revisions of "ISSUE-37" - Linked Data Platform


Input: [Model Aspect] Member (resource) identity [Linked Data Platform (LDP)]

Output: A container is a set of members and (perhaps) non-member properties, and thus contains a list of members (entries) representing each individual member. The model uses a URI to represent the identity of each member resource, which will be used for identification globally. The identification of the member as an entry, will be represented as using a simple RDF statement: rdfs:member . Note: some proposals on the mailing list for ISSUE-34 include the use of different membership predicates like ldp:owns or ldp:contains in place of rdfs:member. If accepted, those predicates might cover some of the ground for ISSUE-21 (affordances).

Difference between revisions of "ISSUE-37" - Linked Data Platform


Input: [Model Aspect] Interacting with container members [Linked Data Platform (LDP)]

Output: Members are listed when GETting a container, and their data is exposed through regular RDF mechanisms. If members are editable, a client can introspect via HEAD/OPTIONs to see if PUT, PATCH or DELETE verbs are permitted. A server may provide some member data or just a reference to it in the response of a request for container information.

Difference between revisions of "ISSUE-37" - Linked Data Platform


Input: [Model Aspect] Interacting with containers (composition) [Linked Data Platform (LDP)]

Output: Bringing into existence: typically containers just exist, though some servers may allow creation of containers by POSTing a representation of a container to an already-existing container. Removing from existence (DELETEing): containers are like any other HTTP web resource, they have a URI which a server may accept a DELETE request on. The question becomes, what happens to the members when a container is DELETEd? Based on resolution for ISSUE-25, in order for the container to be deleted all its members must also be deleted. There have been proposals for another model of containers, which may or may not have this rule, see ISSUE-34. Removing a member from a container: simply update the container's membership by PATCHing it with a statement to remove the membership triple. The resource still exists, its ownership is unknown (or perhaps a concept of a "default" container?). Adding an existing member to a container: potentially not allowed (ISSUE-25 resolution) Moving a member from one container to another: potentially not allowed (ISSUE-25 resolution) Alternative: PATCH to remove a member is not allowed; the client must DELETE the member to remove it from the container.

Difference between revisions of "ISSUE-37" - Linked Data Platform


Input: [Event Name] dragstart [Cancelable?] ✓ Cancelable [Drag data store mode] Read/write mode [dropEffect] "none" [Default Action] Initiate the drag-and-drop operation [Target]

Output: Source node

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] drag [Cancelable?] ✓ Cancelable [Drag data store mode] Protected mode [dropEffect] "none" [Default Action] Continue the drag-and-drop operation [Target]

Output: Source node

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] dragenter [Cancelable?] ✓ Cancelable [Drag data store mode] Protected mode [dropEffect] Based on effectAllowed value [Default Action] Reject immediate user selection as potential target element [Target]

Output: Immediate user selection or the body element

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] dragleave [Cancelable?] — [Drag data store mode] Protected mode [dropEffect] "none" [Default Action] None [Target]

Output: Previous target element

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] dragover [Cancelable?] ✓ Cancelable [Drag data store mode] Protected mode [dropEffect] Based on effectAllowed value [Default Action] Reset the current drag operation to "none" [Target]

Output: Current target element

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] drop [Cancelable?] ✓ Cancelable [Drag data store mode] Read-only mode [dropEffect] Current drag operation [Default Action] Varies [Target]

Output: Current target element

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] dragend [Cancelable?] — [Drag data store mode] Protected mode [dropEffect] Current drag operation [Default Action] Varies [Target]

Output: Source node

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Webinos proposal] Javascript API to obtain Javascript-based Service APIs [Opera/CableLabs proposal] Javascript API to obtain HTTP Service URL endpoints [Google Web Intents] Javascript API to allow client web application to find and communicate with service web application [Google Web Introducer] Javascript API to allow client web application to find and communicate with service web application [Feature]

Output: Level of abstraction

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] Agnostic to underlying low levels discovery/communication mechanisms. This is subject for implementation of discovery infrastructure and services based on supported low level discovery and communication mechanisms [Opera/CableLabs proposal] Agnostic to underlying low levels discovery/communication mechanisms (but includes standard processing rules for Zeroconf and UPnP). [Google Web Intents] None [Google Web Introducer] None [Feature]

Output: Relation to underlying low level discovery/communication mechanisms

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] In device, locally connected, local network and web-based services [Opera/CableLabs proposal] In device, locally connected, local network and web-based services [Google Web Intents] Anywhere, service is represented by a web application that hides any underlying low level service access methods [Google Web Introducer] Anywhere, service is represented by a web application that hides any underlying low level service access methods [Feature]

Output: Location of services

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] Underlying infrastructure for registering user’s devices/services (more details) [Opera/CableLabs proposal] Both an underlying Zeroconf and UPnP infrastructure [Google Web Intents] None (Claes: Rich, I believe a “Web Intents server”is needed. Please explain your view [Google Web Introducer] “Web Introducer server” [Feature]

Output: Network infrastructure required

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] URI identifying a JavaScript API to access the service [Opera/CableLabs proposal] Service type tokens exposed from the underlying discovery mechanisms [Google Web Intents] A service (intent) is defined by: Action: a URI defining what to do (share, pick, view, etc) Type: the data type to perform the action on (image, url, json etc) [Google Web Introducer] A service (intent) is a string identifying an interaction pattern between a Client and a Service. Examples are bookmark for sharing, link to media file, user's stream of incoming SMSs [Feature]

Output: Identification of service type

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] Based on user selection of discovered service and security mechanisms implemented for respective services. A distributed approach where policy decisions are hosted in a Personal Zone. [Opera/CableLabs proposal] Based on user selection of discovered service and security mechanisms implemented for respective services. Assumes that access control is handled in the UA. [Google Web Intents] Based on user selection of discovered service and security mechanisms implemented for respective services [Google Web Introducer] Based on user selection of discovered service and security mechanisms implemented for respective services [Feature]

Output: Security / access control

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] An application can register new services through a statement in the manifest file [Opera/CableLabs proposal] UA silently (i.e. in the background) handles discovery and registration of services from the local device, local network. UA also silently handles service discovery and registration on visited web sites. [Google Web Intents] To make a service (intent) discoverable it need to be registered in the UA through a simple API. The services Action, Type and URL to a web page that implements the service is registered. For example, in-page meta header registration syntax is collected as the user browses their web sites. [Google Web Introducer] To make a service (intent) discoverable it need to be registered in the UA through a simple API. The service's name, supported intent strings, icons, URLs to service pages are registered. [Feature]

Output: Service registration

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] UA searches for networked services at API invocation.A successCallback is issued for each service found. Timer for how long search process lasts could be set. Pending search process can be canceled [Opera/CableLabs proposal] UA searches for networked services (the timing of which is at the discretion of the UA) in the local network and on user visited web sites and maintains a list of currently available services. [Google Web Intents] A web application wanting to use a service calls a simple API stating the requested Action and Type. An iframe allows the user to select one of the registered services for this Action and Type. [Google Web Introducer] A web application wanting to use a service calls a simple API stating the requested intent. An iframe or a new window allows the user to select one of the registered services for this intent. [Feature]

Output: Discovery process

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] Yes. Allows web application to search for services belonging to certain user(s), to state remote or local only services and to state location of service. Also allows the page to set a timer for how long search process lasts could be set. Pending search processes can be canceled. [Opera/CableLabs proposal] No [1]. [Google Web Intents] No. [Google Web Introducer] No. [Feature]

Output: Search filter

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] A standardized / “well-known” JavaScript API is provided to the web application to access the service. [Opera/CableLabs proposal] A URL, extracted directly from the underlying service discovery process, is provided to the web application to access the service. The web page can then use standard XmlHttpRequest, Web Sockets, Server-Sent Events and Web Messaging, etc (all with implicit cross-origin resource sharing) to communcate with the service. Protocol depends on messaging format implemented in device implementing service (e.g. json, protobufs, text-based, xml, etc). [Google Web Intents] Data is sent bi-directionally between client web application page and the service web page through the Web Intents API. The format/protocol of this data exchange is defined for each Action by the Web Intents specification. Underlying communication mechanism is web messaging but this level is hided to the application developer. [Google Web Introducer] Data is sent bi-directionally between client web application page and the service web page through Web Messaging. The format/protocol of this data exchange must be defined for each Intent by specific API/protocol specifications for each intent type. [Feature]

Output: Communication with service

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] onLost callback when found but not yet bound service is lost. onServiceUnavaialble and onServiceAvailable callbacks for bound services. [Opera/CableLabs proposal] readyState changes fire back to web page's network service objects. readystatechange events occur on a network service object when the service becomes available or unavailable. servicesAvailable attribute is used to monitor general number of services of the authorized type currently available in the user's network(s). [Google Web Intents] No service status monitoring in the Web Intents API itself but guess that this could be handled in the specific protocol for the specific Action. [Google Web Introducer] No service status monitoring in the Web Introducer API itself but guess that this could be handled in the specific protocol for the specific intent type. [Feature]

Output: Service status monitoring

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] Service binding valid until unbind() is called or client page is left. Later the binding to the service can be resumed using the saved service id. [Opera/CableLabs proposal] Opera to elaborate [Google Web Intents] To be completed [Google Web Introducer] To be completed [Feature]

Output: Service binding lifecycle

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Webinos proposal] ... [Opera/CableLabs proposal] ... [Google Web Intents] .... [Google Web Introducer] .... [Feature]

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Scenario] When an accessibility subtree is hidden [ATK/AT-SPI event] children_changed::remove [Mac OS X Notification] AXUIElementDestroyed If in a live region, AXLiveRegionChanged [MSAA]

Output: EVENT_OBJECT_HIDE The MSAA event called EVENT_OBJECT_DESTROY is not used because this has a history of stability issues and assistive technology avoids it. In any case, from the user's point of view, there is no difference between something that is hidden or destroyed.

WAI-ARIA 1.0 User Agent Implementation Guide

Table of document change scenarios and events to be fired in each API


Input: [Scenario] When an accessibility subtree is removed [ATK/AT-SPI event] children_changed::remove [Mac OS X Notification] AXUIElementDestroyed If in a live region, AXLiveRegionChanged [MSAA]

Output: EVENT_OBJECT_REORDER The MSAA event called EVENT_OBJECT_DESTROY is not used because this has a history of stability issues and assistive technology avoids it. In any case, from the user's point of view, there is no difference between something that is hidden or destroyed.

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [Scenario] When an accessibility subtree is shown [ATK/AT-SPI event] children_changed::add [Mac OS X Notification] AXUIElementCreated If in a live region, AXLiveRegionChanged [MSAA]

Output: EVENT_OBJECT_SHOW

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [Scenario] When an accessibility subtree is inserted [ATK/AT-SPI event] children_changed::add [Mac OS X Notification] AXUIElementCreated If in a live region, AXLiveRegionChanged [MSAA]

Output: EVENT_OBJECT_REORDER

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [Scenario] When an accessibility subtree is moved [ATK/AT-SPI event] Treat it as a removal from one place and insertion in another [Mac OS X Notification] AXUIElementDestroyed/ AXUIElementCreated If in a live region, AXLiveRegionChanged [MSAA]

Output: Treat it as a removal from one place and insertion in another

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [Scenario] When an accessibility subtree is changed (e.g. replaceNode) [ATK/AT-SPI event] Treat it as a removal and insertion [Mac OS X Notification] AXUIElementDestroyed/ AXUIElementCreated If in a live region, AXLiveRegionChanged [MSAA]

Output: Treat it as a removal and insertion

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [Component] Context item [Scope]

Output: dynamic; changes during evaluation of path expressions and predicates

Dynamic Context Components


Input: [Component] Context position [Scope]

Output: dynamic; changes during evaluation of path expressions and predicates

Dynamic Context Components


Input: [Component] Context size [Scope]

Output: dynamic; changes during evaluation of path expressions and predicates

Dynamic Context Components


Input: [Component] Variable values [Scope]

Output: dynamic; for-expressions and quantified expressions can bind new variables

Dynamic Context Components


Input: [Component] Current date and time [Scope]

Output: global; must be initialized by implementation

Dynamic Context Components


Input: [Component] Implicit timezone [Scope]

Output: global; must be initialized by implementation

Dynamic Context Components


Input: [Component] Available documents [Scope]

Output: global; must be initialized by implementation

Dynamic Context Components


Input: [Component] Available collections [Scope]

Output: global; must be initialized by implementation

Dynamic Context Components


Input: [Component] Default collection [Scope]

Output: global; overwriteable by implementation

Dynamic Context Components


Input: [WSC Clause] I [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] II [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] IIa [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] IV [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] V [Opera] Conforms Optional [Chrome] Does Not Conform Optional [Firefox]

Output: Does Not Conform Optional


Input: [WSC Clause] VI [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] VII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] VIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] IX [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] X [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XIII [Opera] Conforms Optional [Chrome] Does Not Conform Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] XIV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XV [Opera] Conforms Optional [Chrome] Conforms Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] XVI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XVII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XVIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XIX [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XX [Opera] Conforms Optional [Chrome] Conforms Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] XXI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXIII [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] XXIV [Opera] Conforms Optional [Chrome] Does Not Conform Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] XXV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXVI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXVII [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] XXVIII [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] XXIX [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] XXX [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] XXXI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXXII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXXIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXXIV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXXV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXXVI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXXVII [Opera] Conforms Optional [Chrome] Conforms Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] XXXVIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XXXIX [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XL [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XLI [Opera] Conforms Optional [Chrome] Conforms Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] XLII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XLIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XLIV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XLV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XLVI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XLVII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XLVIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XLIX [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] L [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LI [Opera] Does Not Conform Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LII [Opera] Does Not Conform Advanced [Chrome] Does Not Conform Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LIII [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LIV [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LV [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] LVI [Opera] Does Not Conform Optional [Chrome] Conforms Optional [Firefox]

Output: Does Not Conform Optional


Input: [WSC Clause] LVII [Opera] Does Not Conform Optional [Chrome] Does Not Conform Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] LVIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LIX [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LX [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXIII [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] LXIV [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] LXV [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXVI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXVII [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXVIII [Opera] Conforms Optional [Chrome] Conforms Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] LXIX [Opera] Conforms Optional [Chrome] Does Not Conform Optional [Firefox]

Output: Does Not Conform Optional


Input: [WSC Clause] LXX [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXXI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXII [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXXIII [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXXIV [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXXV [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] LXXVI [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] LXXVII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXVIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXIX [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXX [Opera] Does Not Conform Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXXXI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXXII [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] LXXXIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXXIV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXXV [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] LXXXVI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXXVII [Opera] Conforms Optional [Chrome] Conforms Optional [Firefox]

Output: Conforms Optional


Input: [WSC Clause] LXXXVIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] LXXXIX [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] XC [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XCI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XCII [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] XCIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XCIV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XCV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XCVI [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XCVII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XCVIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] XCIX [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] C [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] CI [Opera] NA [Chrome] NA [Firefox]


Input: [WSC Clause] CII [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] CIII [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] CIV [Opera] Conforms Basic [Chrome] Conforms Basic [Firefox]

Output: Conforms Basic


Input: [WSC Clause] CV [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [WSC Clause] CVI [Opera] Conforms Advanced [Chrome] Conforms Advanced [Firefox]

Output: Conforms Advanced


Input: [Event Name] dragstart [Target] Source node [Cancelable?] ✓ Cancelable [Drag data store mode] Read/write mode [dropEffect] "none" [Default Action]

Output: Initiate the drag-and-drop operation

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] drag [Target] Source node [Cancelable?] ✓ Cancelable [Drag data store mode] Protected mode [dropEffect] "none" [Default Action]

Output: Continue the drag-and-drop operation

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] dragenter [Target] Immediate user selection or the body element [Cancelable?] ✓ Cancelable [Drag data store mode] Protected mode [dropEffect] Based on effectAllowed value [Default Action]

Output: Reject immediate user selection as potential target element

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] dragleave [Target] Previous target element [Cancelable?] — [Drag data store mode] Protected mode [dropEffect] "none" [Default Action]

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] dragover [Target] Current target element [Cancelable?] ✓ Cancelable [Drag data store mode] Protected mode [dropEffect] Based on effectAllowed value [Default Action]

Output: Reset the current drag operation to "none"

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] drop [Target] Current target element [Cancelable?] ✓ Cancelable [Drag data store mode] Read-only mode [dropEffect] Current drag operation [Default Action]

Output: Varies

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Event Name] dragend [Target] Source node [Cancelable?] — [Drag data store mode] Protected mode [dropEffect] Current drag operation [Default Action]

Output: Varies

7.6 Drag and drop — HTML5: Edition for Web Authors


Input: [Evaluation] Bandwidth efficiency [Picture Element] Yes, requests only what it needs [image-set CSS/uri templates] Yes, requests only what it needs [Request headers] Yes, requests only what it needs [Spacer background-image]

Output: Yes, requests only what it needs


Input: [Evaluation] Single HTTP request [Picture Element] Yes [image-set CSS/uri templates] Yes [Request headers] Yes [Spacer background-image]

Output: Yes


Input: [Evaluation] Server-side config not required [Picture Element] Client based [image-set CSS/uri templates] Client based [Request headers] Server-config required [Spacer background-image]

Output: Client based


Input: [Evaluation] Structure Simplicity (HTML) [Picture Element] Difficult for beginners [image-set CSS/uri templates] (structure not decided, only focuses on CSS) [Request headers] No changes [Spacer background-image]

Output: Existing elements


Input: [Evaluation] Presentation Simplicity (CSS) [Picture Element] Yes [image-set CSS/uri templates] Difficult for beginners, but consistent image-set for backgrounds [Request headers] No changes [Spacer background-image]

Output: Heavy use of media queries


Input: [Evaluation] Easy of maintenance [Picture Element] Responsive scenarios within structure [image-set CSS/uri templates] Control image variants with CSS [Request headers] Server-side config [Spacer background-image]

Output: Control image variants with CSS


Input: [Evaluation] Separation of concerns [Picture Element] Presentation scenarios within structure [image-set CSS/uri templates] Control image variants with CSS [Request headers] Depends on implementation [Spacer background-image]

Output: Control image variants with CSS


Input: [Evaluation] Declarative? (e.g provides semantic hooks for sizes) [Picture Element] Yes [image-set CSS/uri templates] This is only CSS, so it allows the markup to be declarative too. Additionally, it provides the browser with request formats and presentation scenarios which can be reused sitewide. [Request headers] No [Spacer background-image]

Output: No


Input: [Evaluation] Centralized image variants [Picture Element] Located within structure [image-set CSS/uri templates] Variants formats within image-set() urls [Request headers] Depends on implementation [Spacer background-image]

Output: Variants within media queries


Input: [Evaluation] Request static images [Picture Element] Yes [image-set CSS/uri templates] Yes [Request headers] Yes [Spacer background-image]

Output: Yes


Input: [Evaluation] Request dynamically resized images [Picture Element] Manually code dimensions within urls [image-set CSS/uri templates] Request exact dimension needed [Request headers] Yes [Spacer background-image]

Output: Manually code dimensions within urls


Input: [Evaluation] High-resolution when the device is capable [Picture Element] Yes, from media queries [image-set CSS/uri templates] Yes, from image-set() [Request headers] Yes, but may be maintained by user agent [Spacer background-image]

Output: Yes, from media queries


Input: [Evaluation] Adjusts to device bandwidth [Picture Element] Yes (if bandwidth added to media queries) [image-set CSS/uri templates] Yes (if bandwidth added to image-set) [Request headers] No [Spacer background-image]

Output: Yes (if bandwidth added to media queries)


Input: [Evaluation] Fallback for browsers without support [Picture Element] Yes, img within noscript [image-set CSS/uri templates] (no structure to evaluate) [Request headers] Yes [Spacer background-image]

Output: Yes


Input: [Evaluation] Printable images [Picture Element] Yes [image-set CSS/uri templates] Yes [Request headers] Yes [Spacer background-image]

Output: No


Input: [Evaluation] Polyfill [Picture Element] Yes [image-set CSS/uri templates] Yes [Request headers] Not needed [Spacer background-image]

Output: Not needed


Input: [Evaluation] Minimal structure updates for browser support [Picture Element] Create a new picture element [image-set CSS/uri templates] (no structure to evaluate) [Request headers] Heavy restructuring [Spacer background-image]

Output: Not needed


Input: [Evaluation] Minimal presentation updates for browser support [Picture Element] No new CSS required [image-set CSS/uri templates] image-set being evaluated by webkit for background images [Request headers] No new CSS required [Spacer background-image]

Output: Not needed


Input: [Evaluation] Image within content [Picture Element] Yes [image-set CSS/uri templates] Yes [Request headers] Yes [Spacer background-image]

Output: No


Input: [Evaluation] No new file formats [Picture Element] Works with existing files [image-set CSS/uri templates] Works with existing files [Request headers] Works with existing files [Spacer background-image]

Output: Works with existing files


Input: [Feature] Level of abstraction [Opera/CableLabs proposal] Javascript API to obtain HTTP Service URL endpoints [Google Web Intents] Javascript API to allow client web application to find and communicate with service web application [Google Web Introducer] Javascript API to allow client web application to find and communicate with service web application [Webinos proposal]

Output: Javascript API to obtain Javascript-based Service APIs

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Relation to underlying low level discovery/communication mechanisms [Opera/CableLabs proposal] Agnostic to underlying low levels discovery/communication mechanisms (but includes standard processing rules for Zeroconf and UPnP). [Google Web Intents] None [Google Web Introducer] None [Webinos proposal]

Output: Agnostic to underlying low levels discovery/communication mechanisms. This is subject for implementation of discovery infrastructure and services based on supported low level discovery and communication mechanisms

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Location of services [Opera/CableLabs proposal] In device, locally connected, local network and web-based services [Google Web Intents] Anywhere, service is represented by a web application that hides any underlying low level service access methods [Google Web Introducer] Anywhere, service is represented by a web application that hides any underlying low level service access methods [Webinos proposal]

Output: In device, locally connected, local network and web-based services

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Network infrastructure required [Opera/CableLabs proposal] Both an underlying Zeroconf and UPnP infrastructure [Google Web Intents] None (Claes: Rich, I believe a “Web Intents server”is needed. Please explain your view [Google Web Introducer] “Web Introducer server” [Webinos proposal]

Output: Underlying infrastructure for registering user’s devices/services (more details)

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Identification of service type [Opera/CableLabs proposal] Service type tokens exposed from the underlying discovery mechanisms [Google Web Intents] A service (intent) is defined by: Action: a URI defining what to do (share, pick, view, etc) Type: the data type to perform the action on (image, url, json etc) [Google Web Introducer] A service (intent) is a string identifying an interaction pattern between a Client and a Service. Examples are bookmark for sharing, link to media file, user's stream of incoming SMSs [Webinos proposal]

Output: URI identifying a JavaScript API to access the service

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Security / access control [Opera/CableLabs proposal] Based on user selection of discovered service and security mechanisms implemented for respective services. Assumes that access control is handled in the UA. [Google Web Intents] Based on user selection of discovered service and security mechanisms implemented for respective services [Google Web Introducer] Based on user selection of discovered service and security mechanisms implemented for respective services [Webinos proposal]

Output: Based on user selection of discovered service and security mechanisms implemented for respective services. A distributed approach where policy decisions are hosted in a Personal Zone.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Service registration [Opera/CableLabs proposal] UA silently (i.e. in the background) handles discovery and registration of services from the local device, local network. UA also silently handles service discovery and registration on visited web sites. [Google Web Intents] To make a service (intent) discoverable it need to be registered in the UA through a simple API. The services Action, Type and URL to a web page that implements the service is registered. For example, in-page meta header registration syntax is collected as the user browses their web sites. [Google Web Introducer] To make a service (intent) discoverable it need to be registered in the UA through a simple API. The service's name, supported intent strings, icons, URLs to service pages are registered. [Webinos proposal]

Output: An application can register new services through a statement in the manifest file

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Discovery process [Opera/CableLabs proposal] UA searches for networked services (the timing of which is at the discretion of the UA) in the local network and on user visited web sites and maintains a list of currently available services. [Google Web Intents] A web application wanting to use a service calls a simple API stating the requested Action and Type. An iframe allows the user to select one of the registered services for this Action and Type. [Google Web Introducer] A web application wanting to use a service calls a simple API stating the requested intent. An iframe or a new window allows the user to select one of the registered services for this intent. [Webinos proposal]

Output: UA searches for networked services at API invocation.A successCallback is issued for each service found. Timer for how long search process lasts could be set. Pending search process can be canceled

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Search filter [Opera/CableLabs proposal] No [1]. [Google Web Intents] No. [Google Web Introducer] No. [Webinos proposal]

Output: Yes. Allows web application to search for services belonging to certain user(s), to state remote or local only services and to state location of service. Also allows the page to set a timer for how long search process lasts could be set. Pending search processes can be canceled.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Communication with service [Opera/CableLabs proposal] A URL, extracted directly from the underlying service discovery process, is provided to the web application to access the service. The web page can then use standard XmlHttpRequest, Web Sockets, Server-Sent Events and Web Messaging, etc (all with implicit cross-origin resource sharing) to communcate with the service. Protocol depends on messaging format implemented in device implementing service (e.g. json, protobufs, text-based, xml, etc). [Google Web Intents] Data is sent bi-directionally between client web application page and the service web page through the Web Intents API. The format/protocol of this data exchange is defined for each Action by the Web Intents specification. Underlying communication mechanism is web messaging but this level is hided to the application developer. [Google Web Introducer] Data is sent bi-directionally between client web application page and the service web page through Web Messaging. The format/protocol of this data exchange must be defined for each Intent by specific API/protocol specifications for each intent type. [Webinos proposal]

Output: A standardized / “well-known” JavaScript API is provided to the web application to access the service.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Service status monitoring [Opera/CableLabs proposal] readyState changes fire back to web page's network service objects. readystatechange events occur on a network service object when the service becomes available or unavailable. servicesAvailable attribute is used to monitor general number of services of the authorized type currently available in the user's network(s). [Google Web Intents] No service status monitoring in the Web Intents API itself but guess that this could be handled in the specific protocol for the specific Action. [Google Web Introducer] No service status monitoring in the Web Introducer API itself but guess that this could be handled in the specific protocol for the specific intent type. [Webinos proposal]

Output: onLost callback when found but not yet bound service is lost. onServiceUnavaialble and onServiceAvailable callbacks for bound services.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Service binding lifecycle [Opera/CableLabs proposal] Opera to elaborate [Google Web Intents] To be completed [Google Web Introducer] To be completed [Webinos proposal]

Output: Service binding valid until unbind() is called or client page is left. Later the binding to the service can be resumed using the saved service id.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] .... [Opera/CableLabs proposal] ... [Google Web Intents] .... [Google Web Introducer] .... [Webinos proposal]

ServiceDiscoveryComparison - DAP WG Wiki


Input: [0] Row 1 [Row] Pending [Column A] Pending [Column C] Pending [Column B]

Output: Pending


Input: [0] Row 2 [Row] Yes [Column A] Yes [Column C] Pending [Column B]

Output: Yes


Input: [0] Row 3 [Row] Yes [Column A] Yes [Column C] Pending [Column B]

Output: Yes


Input: [0] Row 4 [Row] Yes [Column A] Yes [Column C] Pending [Column B]

Output: Yes


Input: [0] Row 5 [Row] Pending [Column A] Pending [Column C] Pending [Column B]

Output: Pending


Input: [0] Row 6 [Row] Pending [Column A] Pending [Column C] Pending [Column B]

Output: Pending


Input: [0] Row 7 [Row] Yes [Column A] Pending [Column C] Pending [Column B]

Output: Pending


Input: [0] Row 8 [Row] Yes [Column A] Pending [Column C] Pending [Column B]

Output: Pending


Input: [0] Row 1 [Column A] Pending [Column B] Pending [Column C] Pending [Row]

Output: Pending


Input: [0] Row 2 [Column A] Yes [Column B] Yes [Column C] Pending [Row]

Output: Yes


Input: [0] Row 3 [Column A] Yes [Column B] Yes [Column C] Pending [Row]

Output: Yes


Input: [0] Row 4 [Column A] Yes [Column B] Yes [Column C] Pending [Row]

Output: Yes


Input: [0] Row 5 [Column A] Pending [Column B] Pending [Column C] Pending [Row]

Output: Pending


Input: [0] Row 6 [Column A] Pending [Column B] Pending [Column C] Pending [Row]

Output: Pending


Input: [0] Row 7 [Column A] Pending [Column B] Pending [Column C] Pending [Row]

Output: Yes


Input: [0] Row 8 [Column A] Pending [Column B] Pending [Column C] Pending [Row]

Output: Yes


Input: [function] For example, when defining an applet you could reference a space-separated list of jar files. [attribute]

Output: archive


Input: [function] This is similar to meta data, in that this can be used by the object handler as a hint to the physical size of the object data that is to be processed. [attribute]

Output: content-length


Input: [function] This URI points to the object data to be processed. This can be an absolute URI (http://www.example.com/datafiles/myinstance.mpg), or a relative URI (myinstance.mpg). If you use a relative URI, then you will need to use the xml:base attribute to define the base location of the object data. This attribute should only refer to the data to be processed. [attribute]

Output: data


Input: [function] This is used to delay the processing of the object data until such time that it is referred to by another element that requires the object data to be processed. In other words, the object data should be downloaded but should not be processed. For example, if an a element is coded to refer to the object element and the a element is activated, then the object data would be processed. [attribute]

Output: declare


Input: [function] Defining the mime type of the object data will assist the object handler in determining whether the object data can be processed by the user agent or if an external application needs to be launched to process the object data. [attribute]

Output: type


Input: [function] Use this attribute to define the base location of the object data. For example: http://www.example.com/datafiles/. This attribute should not be used for any other purpose. [attribute]

Output: xml:base


Input: [MSAA] EVENT_OBJECT_HIDE The MSAA event called EVENT_OBJECT_DESTROY is not used because this has a history of stability issues and assistive technology avoids it. In any case, from the user's point of view, there is no difference between something that is hidden or destroyed. [ATK/AT-SPI event] children_changed::remove [Mac OS X Notification] AXUIElementDestroyed If in a live region, AXLiveRegionChanged [Scenario]

Output: When an accessibility subtree is hidden

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [MSAA] EVENT_OBJECT_REORDER The MSAA event called EVENT_OBJECT_DESTROY is not used because this has a history of stability issues and assistive technology avoids it. In any case, from the user's point of view, there is no difference between something that is hidden or destroyed. [ATK/AT-SPI event] children_changed::remove [Mac OS X Notification] AXUIElementDestroyed If in a live region, AXLiveRegionChanged [Scenario]

Output: When an accessibility subtree is removed

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [MSAA] EVENT_OBJECT_SHOW [ATK/AT-SPI event] children_changed::add [Mac OS X Notification] AXUIElementCreated If in a live region, AXLiveRegionChanged [Scenario]

Output: When an accessibility subtree is shown

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [MSAA] EVENT_OBJECT_REORDER [ATK/AT-SPI event] children_changed::add [Mac OS X Notification] AXUIElementCreated If in a live region, AXLiveRegionChanged [Scenario]

Output: When an accessibility subtree is inserted

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [MSAA] Treat it as a removal from one place and insertion in another [ATK/AT-SPI event] Treat it as a removal from one place and insertion in another [Mac OS X Notification] AXUIElementDestroyed/ AXUIElementCreated If in a live region, AXLiveRegionChanged [Scenario]

Output: When an accessibility subtree is moved

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [MSAA] Treat it as a removal and insertion [ATK/AT-SPI event] Treat it as a removal and insertion [Mac OS X Notification] AXUIElementDestroyed/ AXUIElementCreated If in a live region, AXLiveRegionChanged [Scenario]

Output: When an accessibility subtree is changed (e.g. replaceNode)

WAI-ARIA 1.0 User Agent Implementation Guide


Input: [Additive?] yes ['animate'] yes ['animate Color'] no ['animate Transform'] no ['set']

Output: yes


Input: [Additive?] yes ['animate'] yes ['animate Color'] yes ['animate Transform'] no [Notes] Only RGB color values are additive. ['set']

Output: yes


Input: [Additive?] no ['animate'] no ['animate Color'] no ['animate Transform'] no ['set']

Output: no


Input: [Additive?] no ['animate'] yes ['animate Color'] no ['animate Transform'] no ['set']

Output: yes


Input: [Additive?] yes ['animate'] no ['animate Color'] no ['animate Transform'] yes [Notes] Additive means that a transformation is post-multiplied to the base set of transformations. ['set']

Output: no


Input: [Data type] All other data types used in animatable attributes and properties [Additive?] no ['animate'] yes ['animate Color'] no ['animate Transform'] no ['set']

Output: yes


Input: [Description] The speech recognition confidence level, a float value in the range of 0.0 to 1.0. Results are rejected (a nomatch event is thrown) when application.lastresult$.confidence is below this threshold. A value of 0.0 means minimum confidence is needed for a recognition, and a value of 1.0 requires maximum confidence. The value is a Real Number Designation (see 8.4 Value Designations ). [Default] 0.5 [Name]

Output: confidencelevel

Voice Extensible Markup Language (VoiceXML) 3.0

Table 98: Speech Recognition Properties


Input: [Description] Set the sensitivity level. A value of 1.0 means that it is highly sensitive to quiet input. A value of 0.0 means it is least sensitive to noise. The value is a Real Number Designation (see 8.4 Value Designations ). [Default] 0.5 [Name]

Output: sensitivity

Voice Extensible Markup Language (VoiceXML) 3.0

Table 98: Speech Recognition Properties


Input: [Description] A hint specifying the desired balance between speed vs. accuracy. A value of 0.0 means fastest recognition. A value of 1.0 means best accuracy. The value is a Real Number Designation (see 8.4 Value Designations ). [Default] 0.5 [Name]

Output: speedvsaccuracy

Voice Extensible Markup Language (VoiceXML) 3.0

Table 98: Speech Recognition Properties


Input: [Description] The length of silence required following user speech before the speech recognizer finalizes a result (either accepting it or throwing a nomatch event). The complete timeout is used when the speech is a complete match of an active grammar. By contrast, the incomplete timeout is used when the speech is an incomplete match to an active grammar. A long complete timeout value delays the result completion and therefore makes the computer's response slow. A short complete timeout may lead to an utterance being broken up inappropriately. Reasonable complete timeout values are typically in the range of 0.3 seconds to 1.0 seconds. The value is a Time Designation (see 8.4 Value Designations ). See 8.3 Speech and DTMF Input Timing Properties . Although platforms must parse the completetimeout property, platforms are not required to support the behavior of completetimeout. Platforms choosing not to support the behavior of completetimeout must so document and adjust the behavior of the incompletetimeout property as described below. [Default] platform-dependent [Name]

Output: completetimeout

Voice Extensible Markup Language (VoiceXML) 3.0

Table 98: Speech Recognition Properties


Input: [Description] The required length of silence following user speech after which a recognizer finalizes a result. The incomplete timeout applies when the speech prior to the silence is an incomplete match of all active grammars. In this case, once the timeout is triggered, the partial result is rejected (with a nomatch event). The incomplete timeout also applies when the speech prior to the silence is a complete match of an active grammar, but where it is possible to speak further and still match the grammar. By contrast, the complete timeout is used when the speech is a complete match to an active grammar and no further words can be spoken. A long incomplete timeout value delays the result completion and therefore makes the computer's response slow. A short incomplete timeout may lead to an utterance being broken up inappropriately. The incomplete timeout is usually longer than the complete timeout to allow users to pause mid-utterance (for example, to breathe). See 8.3 Speech and DTMF Input Timing Properties Platforms choosing not to support the completetimeout property (described above) must use the maximum of the completetimeout and incompletetimeout values as the value for the incompletetimeout. The value is a Time Designation (see 8.4 Value Designations ). [Default] undefined? [Name]

Output: incompletetimeout

Voice Extensible Markup Language (VoiceXML) 3.0

Table 98: Speech Recognition Properties


Input: [Description] The maximum duration of user speech. If this time elapsed before the user stops speaking, the event "maxspeechtimeout" is thrown. The value is a Time Designation (see 8.4 Value Designations ). [Default] platform-dependent [Name]

Output: maxspeechtimeout

Voice Extensible Markup Language (VoiceXML) 3.0

Table 98: Speech Recognition Properties


Input: [Name] bargein [Type] boolean [Required] No [Default Value] bargein property [Description]

Output: Controls whether the prompt can be interrupted.

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] bargeintype [Type] string [Required] No [Default Value] bargeintype property [Description]

Output: On prompts that can be interrupted, determines the type of bargein, either 'speech', or 'hotword'.

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] cond [Type] data model expression [Required] No [Default Value] true [Description]

Output: A data model expression that must evaluate to true after conversion to boolean in order for the prompt to be played.

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] count [Type] positive integer [Required] No [Default Value] 1 [Description]

Output: A number indicating the repetition count, allowing a prompt to be activated or not depending on the current repetition count.

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] timeout [Type] Time Designation [Required] No [Default Value] timeout property [Description]

Output: The time to wait for user input.

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] xml:lang [Type] string [Required] No [Default Value] document's "xml:lang" attribute [Description]

Output: The language identifier for the prompt.

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Name] xml:base [Type] string [Required] No [Default Value] document's "xml:base" attribute [Description]

Output: Declares the base URI from which relative URIs in the prompt are resolved.

Voice Extensible Markup Language (VoiceXML) 3.0

Table 28: Attributes


Input: [Function] avg [Arguments] node-set [Returns] number [Description]

Output: Average


Input: [Function] boolean-from-string [Arguments] string [Returns] boolean [Description]

Output: Type conversion


Input: [Function] count-non-empty [Arguments] node-set [Returns] number [Description]

Output: Count non-empty


Input: [Function] days-from-date [Arguments] string [Returns] number [Description]

Output: Days in epoch


Input: [Function] if [Arguments] boolean, string, string [Returns] string [Description]

Output: Conditional


Input: [Function] index [Arguments] string [Returns] number [Description]

Output: Repeat index


Input: [Function] instance [Arguments] string [Returns] node-set [Description]

Output: Locate instance


Input: [Function] max [Arguments] node-set [Returns] number [Description]

Output: Maximum


Input: [Function] min [Arguments] node-set [Returns] number [Description]

Output: Minimum


Input: [Function] months [Arguments] string [Returns] number [Description]

Output: Months in period


Input: [Function] now [Arguments] - [Returns] string [Description]

Output: Current time


Input: [Function] property [Arguments] string [Returns] string [Description]

Output: Feature value


Input: [Function] seconds [Arguments] string [Returns] number [Description]

Output: Seconds in period


Input: [Function] seconds-from-dateTime [Arguments] string [Returns] number [Description]

Output: Seconds in epoch


Input: [Keyword] hidden [State] Hidden [Control type] n/a [Data type]

Output: An arbitrary string


Input: [Keyword] text [State] Text [Control type] Text field [Data type]

Output: Text with no line breaks


Input: [Keyword] search [State] Search [Control type] Search field [Data type]

Output: Text with no line breaks


Input: [Keyword] tel [State] Telephone [Control type] A text field [Data type]

Output: Text with no line breaks


Input: [Keyword] url [State] URL [Control type] A text field [Data type]

Output: An absolute IRI


Input: [Keyword] email [State] E-mail [Control type] A text field [Data type]

Output: An e-mail address or list of e-mail addresses


Input: [Keyword] password [State] Password [Control type] Text field that obscures data entry [Data type]

Output: Text with no line breaks (sensitive information)


Input: [Keyword] datetime [State] Date and Time [Control type] A date and time control [Data type]

Output: A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC


Input: [Keyword] date [State] Date [Control type] A date control [Data type]

Output: A date (year, month, day) with no time zone


Input: [Keyword] month [State] Month [Control type] A month control [Data type]

Output: A date consisting of a year and a month with no time zone


Input: [Keyword] week [State] Week [Control type] A week control [Data type]

Output: A date consisting of a week-year number and a week number with no time zone


Input: [Keyword] time [State] Time [Control type] A time control [Data type]

Output: A time (hour, minute, seconds, fractional seconds) with no time zone


Input: [Keyword] datetime-local [State] Local Date and Time [Control type] A date and time control [Data type]

Output: A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone


Input: [Keyword] number [State] Number [Control type] A text field or spinner control [Data type]

Output: A numerical value


Input: [Keyword] range [State] Range [Control type] A slider control or similar [Data type]

Output: A numerical value, with the extra semantic that the exact value is not important


Input: [Keyword] color [State] Color [Control type] A color well [Data type]

Output: An sRGB color with 8-bit red, green, and blue components


Input: [Keyword] checkbox [State] Checkbox [Control type] A checkbox [Data type]

Output: A set of zero or more values from a predefined list


Input: [Keyword] radio [State] Radio Button [Control type] A radio button [Data type]

Output: An enumerated value


Input: [Keyword] file [State] File Upload [Control type] A label and a button [Data type]

Output: Zero or more files each with a MIME type and optionally a file name


Input: [Keyword] submit [State] Submit Button [Control type] A button [Data type]

Output: An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission


Input: [Keyword] image [State] Image Button [Control type] Either a clickable image, or a button [Data type]

Output: A coordinate, relative to a particular image's size, with the extra semantic that it must be the last value selected and initiates form submission


Input: [Keyword] reset [State] Reset Button [Control type] A button [Data type]


Input: [Keyword] button [State] Button [Control type] A button [Data type]


Input: [Target] controller [Sequencing] one-of: prepared, notPrepared [Description] positive response to prepare (activeGrammars or activeVoiceModel prepared) [Event]

Output: prepared

Voice Extensible Markup Language (VoiceXML) 3.0

Table 7: Events sent by recognition resource


Input: [Target] controller [Sequencing] one-of: prepared, notPrepared [Description] negative response to prepare (no activeGrammars or activeVoiceModel defined) [Event]

Output: notPrepared

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Target] controller [Description] notification that onset of input has been detected [Event]

Output: inputStarted

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Target] controller [Description] notification that the end of input has been detected [Event]

Output: inputFinished

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Target] controller [Payload] results (M), listener (O) [Description] notification of a partial recognition result [Event]

Output: partialResult

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Target] controller [Payload] results (M), listener (O) [Description] notification of complete recognition result, including the results structure and a listener [Event]

Output: recoResult

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Target] controller [Payload] error status (M) [Description] notification that an error has occurred [Event]

Output: error

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Name] next [Required] true [Type] ECMAScript Expression [Default Value] none [Description] An ECMAScript expression which returns the URI of the resource to be fetched. [Valid Values]

Output: a valid URL

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] namelist [Required] false [Type] Var List [Default Value] none [Description] A list of zero or more whitespace separated CCXML variable names. These variables will be submitted to the server, with the same qualification as used in the namelist. When an ECMAscript variable is submitted to the server, its value is first converted into a string before being submitted. If the variable is an ECMAScript Object, the mechanism by which it is submitted is not currently defined. Instead of submitting ECMAScript Objects directly, the application developer may explicitly submit the properties of an Object. e.g. "date.month date.year". [Valid Values]

Output: List of ECMAScript Variable names

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] method [Required] false [Type] ECMAScript Expression [Default Value] get [Description] An ECMAScript expression which returns a character string that indicates the HTTP method to use. Values defined by the specification are: get This indicates that the "GET" method will be used to fetch the URL. post This indicates that the "POST" method will be used while submitting the URL to the server. [Valid Values]

Output: get post

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] sessionid [Required] false [Type] ECMAScript Left Hand Side Expression [Default Value] none [Description] An ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute will receive an internally generated unique string identifier which identifies the newly created session. [Valid Values]

Output: ECMAScript Variable

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] timeout [Required] false [Type] ECMAScript Expression [Default Value] none [Description] The character string returned is interpreted as a time interval. This time interval is interpreted by the new CCXML session as the maximum time it should wait for the completion of the fetch for the initial document specified by the next attribute. If the new CCXML session is unable to fetch the initial document within the timeout interval, an error.fetch event must be thrown. [Valid Values]

Output: An ECMAScript expression which returns a character string in CSS2 [CSS2] format

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxage [Required] false [Type] ECMAScript Expression [Default Value] none [Description] The character string returned is interpreted as a time interval. This indicates that the document is willing to use content whose age is no greater than the specified time in seconds (cf. 'max-age' in HTTP 1.1 [RFC2616]). The document is not willing to use stale content, unless maxstale is also provided. [Valid Values]

Output: An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxstale [Required] false [Type] ECMAScript Expression [Default Value] none [Description] The character string returned is interpreted as a time interval. This indicates that the document is willing to use content that has exceeded its expiration time (cf. 'max-age' in HTTP 1.1 [RFC2616]). If maxstale is assigned a value, then the document is willing to accept content that has exceeded its expiration time by no more than the specified number of seconds. [Valid Values]

Output: An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] enctype [Required] false [Attribute Constraints] Valid only when the value of the method is "post" [Type] ECMAScript Expression [Default Value] application/x-www-form-urlencoded [Description] An ECMAScript expression which returns a character string that indicates the media encoding type of the submitted document (when the value of the method is "post"). Values defined by the specification are: application/x-www-form-urlencoded This indicates that the ccxml variables specified in the namelist will be url encoded. [Valid Values]

Output: valid media encoding type

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] name [Details]

Output: " connection.redirected "

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] connectionid [Details]

Output: The ID of the Connection associated with this event

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] protocol * [Details]

Output: The platform protocol ID of the Connection protocol

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] reason * [Details]

Output: A redirect result code.

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] info * [Details]

Output: An object which provides additional platform or protocol dependent information

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] connection [Details]

Output: an ECMAScript object reference to the Connection object identified by the connectionid property for this event

Voice Browser Call Control: CCXML Version 1.0


Input: [Type] The name must conform to the variable naming conventions in (TODO). [Description] The form item variable in the dialog scope that will hold the recording. The name must be unique among form items in the form. If the name is not unique, then a badfetch error is thrown when the document is fetched. Note that how this variable is implemented may vary between platforms (although all platforms must support its behavior in and as described in this specification). [Required] Yes [Name]

Output: name

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Type] TBD [Description] The initial value of the form item variable. If initialized to a value, then the form item will not be visited unless the form item variable is cleared. [Required] No [Default Value] ECMAScript undefined [Name]

Output: expr

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Type] data model expression [Description] A data model expression that must evaluate to true after conversion to boolean in order for the form item to be visited. [Required] No [Default Value] true [Name]

Output: cond

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Type] boolean [Description] If this is true, all non-local speech and DTMF grammars are not active while making the recording. If this is false, non-local speech and DTMF grammars are active. [Required] No [Default Value] true [Name]

Output: modal

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Type] boolean [Description] If true, a tone is emitted just prior to recording. [Required] No [Default Value] false [Name]

Output: beep

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Type] Time Designation [Description] The maximum duration to record. [Required] No [Default Value] Platform-specific value [Name]

Output: maxtime

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Type] Time Designation [Description] The interval of silence that indicates end of speech. [Required] No [Default Value] Platform-specific value [Name]

Output: finalsilence

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Type] boolean [Description] If true, any DTMF keypress will be treated as a match of an active (anonymous) local DTMF grammar. [Required] No [Default Value] true [Name]

Output: dtmfterm

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Type] Required audio file formats specified in Appendix E of VoiceXML 2 (Other formats may also be supported) [Description] The media format of the resulting recording. [Required] No [Default Value] Platform-specific (one of the required formats) [Name]

Output: type

Voice Extensible Markup Language (VoiceXML) 3.0

Table 85: Attributes


Input: [Field Name] name [Details]

Output: " connection.failed "

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] connectionid [Details]

Output: The ID of the Connection associated with this event

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] protocol * [Details]

Output: The platform protocol ID of the Connection protocol

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] reason * [Details]

Output: A failure reason code

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] info * [Details]

Output: An object which provides additional platform or protocol dependent information

Voice Browser Call Control: CCXML Version 1.0


Input: [Field Name] connection [Details]

Output: an ECMAScript object reference to the Connection object identified by the connectionid property for this event

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] src [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] none [Valid Values] a valid Dialog URL [Description]

Output: An ECMAScript expression which returns a character string identifying the URI of the dialog document that the dialog interpreter should load and begin execution upon startup.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] prepareddialogid [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the src, type or namelist attributes. [Type] ECMAScript Expression [Default Value] none [Valid Values] a valid dialogid [Description]

Output: An ECMAScript expression which returns a dialog identifier of a dialog previously prepared by the execution of a dialogprepare element. If the specified dialog identifier refers to an unknown dialog or a dialog that has already been executed, by way of another dialogstart element, an error.dialogwrongstate event is thrown.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] type [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] application/voicexml+xml [Valid Values] a Valid MIME Type [Description]

Output: An ECMAScript expression which returns a character string that specifies the MIME type of the document, and as a result determines which dialog manager environment is actually used. Values defined by the specification are: application/voicexml+xml This MIME type would request a VoiceXML interpreter instance. audio/wav This MIME type would request a dialog manager that merely plays wave files.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] namelist [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] Var List [Default Value] none [Valid Values] List of ECMAScript Variable names [Description]

Output: A list of one or more whitespace separated CCXML variable names. These variables will be submitted to the server, with the same qualification as used in the namelist. When an ECMAscript variable is submitted to the server, its value is first converted into a string before being submitted. If the variable is an ECMAScript Object, the mechanism by which it is submitted is not currently defined. Instead of submitting ECMAScript Objects directly, the application developer may explicitly submit the properties of an Object. e.g. "date.month date.year".

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] dialogid [Required] false [Type] ECMAScript Left Hand Side Expression [Default Value] none [Valid Values] ECMAScript Variable [Description]

Output: An ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute will receive a dialog identifier value for the launched dialog interpreter instance. This identifier may be used on future invocations of dialogterminate, join, or unjoin.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] connectionid [Required] false [Attribute Constraints] Can not be used with conferenceid. [Type] ECMAScript Expression [Default Value] comes from the event being processed [Valid Values] Connection IDs [Description]

Output: An Optional ECMAScript expression which returns the identifier of a connection. The specified connection will be associated with the dialog being prepared. If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter will use the id as specified on the dialogprepare element. If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter will use the id indicated in the current event being processed. For more information about connections and bridges, refer to Section 10 . If both connectionid and conferenceid are specified, an error.fetch event will be thrown. If the attribute value is invalid or there is no valid default value, an error.semantic event will be thrown.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] conferenceid [Required] false [Attribute Constraints] Can not be used with connectionid. [Type] ECMAScript Expression [Default Value] comes from the event being processed [Valid Values] Conference IDs [Description]

Output: An Optional ECMAScript expression which returns the identifier of a conference bridge. If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter will use the id as specified on the dialogprepare element. If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter will use the id indicated in the current event being processed. For more information about connections and bridges, refer to Section 10 . If both connectionid and conferenceid are specified, an error.fetch event will be thrown. If the attribute value is invalid or there is no valid default value, an error.semantic event will be thrown.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] mediadirection [Required] false [Attribute Constraints] If used in conjunction with prepareddialogid , the bridge type must match that used on the previous dialogprepare element. [Type] ECMAScript Expression [Default Value] both [Valid Values] both dialogtransmit dialogreceive [Description]

Output: An ECMAScript expression that defines the direction of the media flow between the Dialog and the Connection or Conference. The following values can be used: both Specifies a full duplex connection where the media flows in both directions. dialogtransmit The dialog transmits media to the Connection or Conference but does not receive any media streams. dialogreceive The dialog receives media from the Connection or Conference but does not transmit any media streams. If both the mediadirection and the prepareddialogid are specified and the bridge type specified by the mediadirection attribute does not match that used on the previous dialogprepare element, an error.dialog.notstarted event will be raised. If no value for the mediadirection attribute was specified on the previous dialogprepare element, any mediadirection type option may be specified.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxage [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] none [Valid Values] An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616] [Description]

Output: The character string returned is interpreted as a time interval. This indicates that the document is willing to use content whose age is no greater than the specified time in seconds (cf. 'max-age' in HTTP 1.1 [RFC2616]). The document is not willing to use stale content, unless maxstale is also provided.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxstale [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] none [Valid Values] An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616] [Description]

Output: The character string returned is interpreted as a time interval. This indicates that the document is willing to use content that has exceeded its expiration time (cf. 'max-age' in HTTP 1.1 [RFC2616]). If maxstale is assigned a value, then the document is willing to accept content that has exceeded its expiration time by no more than the specified number of seconds.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] enctype [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. Valid only when the value of the method is "post". [Type] ECMAScript Expression [Default Value] application/x-www-form-urlencoded [Valid Values] valid media encoding type [Description]

Output: An ECMAScript expression which returns a character string that indicates the media encoding type of the submitted document (when the value of the method is "post"). Values defined by the specification are: application/x-www-form-urlencoded This indicates that the ccxml variables specified in the namelist will be url encoded.

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] method [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Default Value] get [Valid Values] get post [Description]

Output: An ECMAScript expression which returns a character string that indicates the HTTP method to use. Values defined by the specification are: get This indicates that the "GET" method will be used by the dialog manager. post This indicates that the "POST" method will be used by the dialog manager.

Voice Browser Call Control: CCXML Version 1.0


Input: [Event] prepared [Target] controller [Sequencing] one-of: prepared, notPrepared [Description]

Output: positive response to prepare (activeGrammars or activeVoiceModel prepared)

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] notPrepared [Target] controller [Sequencing] one-of: prepared, notPrepared [Description]

Output: negative response to prepare (no activeGrammars or activeVoiceModel defined)

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] inputStarted [Target] controller [Description]

Output: notification that onset of input has been detected

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] inputFinished [Target] controller [Description]

Output: notification that the end of input has been detected

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] partialResult [Target] controller [Payload] results (M), listener (O) [Description]

Output: notification of a partial recognition result

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] recoResult [Target] controller [Payload] results (M), listener (O) [Description]

Output: notification of complete recognition result, including the results structure and a listener

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] error [Target] controller [Payload] error status (M) [Description]

Output: notification that an error has occurred

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Name] src [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Valid Values] a valid Dialog URL [Description] An ECMAScript expression which returns a character string identifying the URI of the dialog document that the dialog interpreter should load and begin execution upon startup. [Default Value]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] prepareddialogid [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the src, type or namelist attributes. [Type] ECMAScript Expression [Valid Values] a valid dialogid [Description] An ECMAScript expression which returns a dialog identifier of a dialog previously prepared by the execution of a dialogprepare element. If the specified dialog identifier refers to an unknown dialog or a dialog that has already been executed, by way of another dialogstart element, an error.dialogwrongstate event is thrown. [Default Value]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] type [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Valid Values] a Valid MIME Type [Description] An ECMAScript expression which returns a character string that specifies the MIME type of the document, and as a result determines which dialog manager environment is actually used. Values defined by the specification are: application/voicexml+xml This MIME type would request a VoiceXML interpreter instance. audio/wav This MIME type would request a dialog manager that merely plays wave files. [Default Value]

Output: application/voicexml+xml

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] namelist [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] Var List [Valid Values] List of ECMAScript Variable names [Description] A list of one or more whitespace separated CCXML variable names. These variables will be submitted to the server, with the same qualification as used in the namelist. When an ECMAscript variable is submitted to the server, its value is first converted into a string before being submitted. If the variable is an ECMAScript Object, the mechanism by which it is submitted is not currently defined. Instead of submitting ECMAScript Objects directly, the application developer may explicitly submit the properties of an Object. e.g. "date.month date.year". [Default Value]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] dialogid [Required] false [Type] ECMAScript Left Hand Side Expression [Valid Values] ECMAScript Variable [Description] An ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute will receive a dialog identifier value for the launched dialog interpreter instance. This identifier may be used on future invocations of dialogterminate, join, or unjoin. [Default Value]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] connectionid [Required] false [Attribute Constraints] Can not be used with conferenceid. [Type] ECMAScript Expression [Valid Values] Connection IDs [Description] An Optional ECMAScript expression which returns the identifier of a connection. The specified connection will be associated with the dialog being prepared. If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter will use the id as specified on the dialogprepare element. If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter will use the id indicated in the current event being processed. For more information about connections and bridges, refer to Section 10 . If both connectionid and conferenceid are specified, an error.fetch event will be thrown. If the attribute value is invalid or there is no valid default value, an error.semantic event will be thrown. [Default Value]

Output: comes from the event being processed

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] conferenceid [Required] false [Attribute Constraints] Can not be used with connectionid. [Type] ECMAScript Expression [Valid Values] Conference IDs [Description] An Optional ECMAScript expression which returns the identifier of a conference bridge. If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter will use the id as specified on the dialogprepare element. If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter will use the id indicated in the current event being processed. For more information about connections and bridges, refer to Section 10 . If both connectionid and conferenceid are specified, an error.fetch event will be thrown. If the attribute value is invalid or there is no valid default value, an error.semantic event will be thrown. [Default Value]

Output: comes from the event being processed

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] mediadirection [Required] false [Attribute Constraints] If used in conjunction with prepareddialogid , the bridge type must match that used on the previous dialogprepare element. [Type] ECMAScript Expression [Valid Values] both dialogtransmit dialogreceive [Description] An ECMAScript expression that defines the direction of the media flow between the Dialog and the Connection or Conference. The following values can be used: both Specifies a full duplex connection where the media flows in both directions. dialogtransmit The dialog transmits media to the Connection or Conference but does not receive any media streams. dialogreceive The dialog receives media from the Connection or Conference but does not transmit any media streams. If both the mediadirection and the prepareddialogid are specified and the bridge type specified by the mediadirection attribute does not match that used on the previous dialogprepare element, an error.dialog.notstarted event will be raised. If no value for the mediadirection attribute was specified on the previous dialogprepare element, any mediadirection type option may be specified. [Default Value]

Output: both

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxage [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Valid Values] An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616] [Description] The character string returned is interpreted as a time interval. This indicates that the document is willing to use content whose age is no greater than the specified time in seconds (cf. 'max-age' in HTTP 1.1 [RFC2616]). The document is not willing to use stale content, unless maxstale is also provided. [Default Value]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] maxstale [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Valid Values] An ECMAScript expression which returns a valid time value for the HTTP 1.1 request [RFC2616] [Description] The character string returned is interpreted as a time interval. This indicates that the document is willing to use content that has exceeded its expiration time (cf. 'max-age' in HTTP 1.1 [RFC2616]). If maxstale is assigned a value, then the document is willing to accept content that has exceeded its expiration time by no more than the specified number of seconds. [Default Value]

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] enctype [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. Valid only when the value of the method is "post". [Type] ECMAScript Expression [Valid Values] valid media encoding type [Description] An ECMAScript expression which returns a character string that indicates the media encoding type of the submitted document (when the value of the method is "post"). Values defined by the specification are: application/x-www-form-urlencoded This indicates that the ccxml variables specified in the namelist will be url encoded. [Default Value]

Output: application/x-www-form-urlencoded

Voice Browser Call Control: CCXML Version 1.0


Input: [Name] method [Required] false [Attribute Constraints] This attribute may not be specified in conjunction with the prepareddialogid attribute. [Type] ECMAScript Expression [Valid Values] get post [Description] An ECMAScript expression which returns a character string that indicates the HTTP method to use. Values defined by the specification are: get This indicates that the "GET" method will be used by the dialog manager. post This indicates that the "POST" method will be used by the dialog manager. [Default Value]

Output: get

Voice Browser Call Control: CCXML Version 1.0


Input: [Keyword] hidden [State] Hidden [Control type] n/a [Data type]

Output: An arbitrary string


Input: [Keyword] text [State] Text [Control type] Text field [Data type]

Output: Text with no line breaks


Input: [Keyword] search [State] Search [Control type] Search field [Data type]

Output: Text with no line breaks


Input: [Keyword] tel [State] Telephone [Control type] A text field [Data type]

Output: Text with no line breaks


Input: [Keyword] url [State] URL [Control type] A text field [Data type]

Output: An absolute IRI


Input: [Keyword] email [State] E-mail [Control type] A text field [Data type]

Output: An e-mail address or list of e-mail addresses


Input: [Keyword] password [State] Password [Control type] Text field that obscures data entry [Data type]

Output: Text with no line breaks (sensitive information)


Input: [Keyword] datetime [State] Date and Time [Control type] A date and time control [Data type]

Output: A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC


Input: [Keyword] date [State] Date [Control type] A date control [Data type]

Output: A date (year, month, day) with no time zone


Input: [Keyword] month [State] Month [Control type] A month control [Data type]

Output: A date consisting of a year and a month with no time zone


Input: [Keyword] week [State] Week [Control type] A week control [Data type]

Output: A date consisting of a week-year number and a week number with no time zone


Input: [Keyword] time [State] Time [Control type] A time control [Data type]

Output: A time (hour, minute, seconds, fractional seconds) with no time zone


Input: [Keyword] datetime-local [State] Local Date and Time [Control type] A date and time control [Data type]

Output: A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone


Input: [Keyword] number [State] Number [Control type] A text field or spinner control [Data type]

Output: A numerical value


Input: [Keyword] range [State] Range [Control type] A slider control or similar [Data type]

Output: A numerical value, with the extra semantic that the exact value is not important


Input: [Keyword] color [State] Color [Control type] A color well [Data type]

Output: An sRGB color with 8-bit red, green, and blue components


Input: [Keyword] checkbox [State] Checkbox [Control type] A checkbox [Data type]

Output: A set of zero or more values from a predefined list


Input: [Keyword] radio [State] Radio Button [Control type] A radio button [Data type]

Output: An enumerated value


Input: [Keyword] file [State] File Upload [Control type] A label and a button [Data type]

Output: Zero or more files each with a MIME type and optionally a file name