Input: [Feature] Identification of service type [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 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 [Google Web Intents]

Output: 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)

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Security / access control [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 Introducer] Based on user selection of discovered service and security mechanisms implemented for respective services [Google Web Intents]

Output: Based on user selection of discovered service and security mechanisms implemented for respective services

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Service registration [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 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. [Google Web Intents]

Output: 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.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Discovery process [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 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. [Google Web Intents]

Output: 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.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Search filter [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 Introducer] No. [Google Web Intents]

Output: No.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Communication with service [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 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. [Google Web Intents]

Output: 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.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Service status monitoring [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 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. [Google Web Intents]

Output: 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.

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Feature] Service binding lifecycle [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 Introducer] To be completed [Google Web Intents]

Output: To be completed

ServiceDiscoveryComparison - DAP WG Wiki


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

ServiceDiscoveryComparison - DAP WG Wiki


Input: [Event] prepared [Description]

Output: response to prepare indicating that activeGrammars or activeVoiceModel have been successfully prepared

Voice Extensible Markup Language (VoiceXML) 3.0

Table 8: Recognition: Events from Device


Input: [Event] inputStarted [Description]

Output: notification that the onset of input has been detected

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] inputFinished [Description]

Output: notification that the end of input has been detected

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] partialResults [Payload] results (M) [Description]

Output: notification of a partial recognition results

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Event] recoResults [Payload] results (M) [Description]

Output: notification of final recognition results

Voice Extensible Markup Language (VoiceXML) 3.0


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

Output: an error occurred

Voice Extensible Markup Language (VoiceXML) 3.0


Input: [Connection Properties] connectionid [Optional] false [Definitions]

Output: This property is the ECMAScript string value of the Connection identifier, which uniquely identifies each instance of the Connection class.

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] state [Optional] false [Definitions]

Output: This property identifies the current state of the Connection instance; the value of the state is a symbolic constant that is the name of the state.

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] substate [Optional] true [Definitions]

Output: This property is a protocol-dependent property which allows further refinement of the state of a Connection, if desired.

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] dialogid [Optional] true [Definitions]

Output: This property is the identifier of an associated dialog, if there is one currently using the connection.

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] endpoint [Optional] false [Definitions]

Output: If connectionid is ever specified in the creation of a bridge with a conference or another connection via , this property identifies the connectionid of the second party in that bridge. This property will be updated each time a is executed.

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] duplexmode [Optional] false [Definitions]

Output: If connectionid is ever specified in the creation of a bridge with a conference or another connection via , this property identifies the duplex mode of that bridge. The value of this property is a character string that will be equal to "half" or "full" depending on whether the established bridge was unidirectional (for half duplex) or bidirectional (for full duplex). This property will be updated each time a is executed.

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] local [Optional] true [Definitions]

Output: This property is a URI which addresses the interpreter platform; for an incoming call, this is the called URI; for a redirected incoming call, this is also the most recent redirection, and the prior values are contained in the "redirect" property; for an outgoing call, this is the calling URI;

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] remote [Optional] true [Definitions]

Output: This property is a URI which addresses the remote device; for an incoming call, this is the calling URI; for a redirected incoming call, this is the requester of the most recent redirection, and prior values are contained in the "redirect" property; for an outgoing call, this is the called URI;

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] protocol [Optional] true [Definitions]

Output: This property is a reference to an object defining protocol information for the protocol used on this connection; the referenced object defines information which applies to all connections using this protocol, and it has at least two properties: name - the name of the connection protocol; the name MAY also be a property on the connection instance referencing protocol specific information; if no further protocol specific information is available, then Connection[Connection.protocol.name] is undefined; (see Appendix E for a suggested set of protocol names) version - the version of the connection protocol For example, the assignment of protocol-dependent user-to-user information to a variable tmp from a Connection instance referenced by the variable cx would be:

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] redirect [Optional] true [Definitions]

Output: This property is an array representing the connection redirection paths; the first element, Connection.redirect[0], is the original number, and the last element is the most recent redirected number; each element of the array MAY define any of the following four properties: uri - this element's path pi - presentation information si - screening information reason - for example, "unknown", "user busy", "no reply", "deflection during alerting", "deflection immediate response", "mobile subscriber not reachable"

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] aai [Optional] true [Definitions]

Output: This property is the application-to-application information passed during connection setup.

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] originator [Optional] true [Definitions]

Output: This property is set to either "local" or "remote" and indicates the originator of the connection; for an incoming call, this property is set to "remote"; for an outgoing call, it is set to "local"; For example, the assignment of the originating URI to a variable uri from a Connection instance referenced by the variable cx would be:

Voice Browser Call Control: CCXML Version 1.0


Input: [Roles] Buyer [Activities] Require Certification [Products]

Output: Specification

Conformance Testing and Certification Model for W3C Specifications


Input: [Roles] Seller [Activities] Test Implementation [Products]

Output: Implementation Under Test (IUT)

Conformance Testing and Certification Model for W3C Specifications


Input: [Roles] Test Laboratory (TL) [Activities] Recognize Test Method [Products]

Output: Test Method

Conformance Testing and Certification Model for W3C Specifications


Input: [Roles] Certificate Issuer [Activities] Recognize Tester [Products]

Output: Test Report

Conformance Testing and Certification Model for W3C Specifications


Input: [Roles] Control Board (CB) [Activities] Validate Results [Products]

Output: Certification Program Policy

Conformance Testing and Certification Model for W3C Specifications


Input: [Activities] Anser Programmatic Queries [Products]

Output: Testing Laboratory Criteria

Conformance Testing and Certification Model for W3C Specifications


Input: [Activities] Answer Test Method Queries [Products]

Output: Certificate of Conformance

Conformance Testing and Certification Model for W3C Specifications


Input: [Attribute Type] CDATA [Definition]

Output: Character data


Input: [Attribute Type] ID [Definition]

Output: A document-unique identifier


Input: [Attribute Type] IDREF [Definition]

Output: A reference to a document-unique identifier


Input: [Attribute Type] IDREFS [Definition]

Output: A space-separated list of references to document-unique identifiers


Input: [Attribute Type] NAME [Definition]

Output: A name with the same character constraints as ID above


Input: [Attribute Type] NMTOKEN [Definition]

Output: A name composed of only name tokens as defined in XML 1.0 [XML]


Input: [Attribute Type] NMTOKENS [Definition]

Output: One or more whitespace separated NMTOKEN values


Input: [Attribute Type] PCDATA [Definition]

Output: Processed character data


Input: [Value] copy: [Description]

Output: A duplicate of the source object will be dropped into the target.

Supported States and Properties | Accessible Rich Internet Applications (WAI-ARIA) 1.0

Values of aria-dropeffect


Input: [Value] move: [Description]

Output: The source object will be removed from its current location and dropped into the target.

Supported States and Properties | Accessible Rich Internet Applications (WAI-ARIA) 1.0

Values of aria-dropeffect


Input: [Value] link: [Description]

Output: A reference or shortcut to the dragged object will be created in the target object.

Supported States and Properties | Accessible Rich Internet Applications (WAI-ARIA) 1.0

Values of aria-dropeffect


Input: [Value] execute: [Description]

Output: A function supported by the drop target is executed, using the drag source as an input.

Supported States and Properties | Accessible Rich Internet Applications (WAI-ARIA) 1.0

Values of aria-dropeffect


Input: [Value] popup: [Description]

Output: There is a popup menu or dialog that allows the user to choose one of the drag operations (copy, move, link, execute) and any other drag functionality, such as cancel.

Supported States and Properties | Accessible Rich Internet Applications (WAI-ARIA) 1.0

Values of aria-dropeffect


Input: [Value] none (default): [Description]

Output: No operation can be performed; effectively cancels the drag operation if an attempt is made to drop on this object. Ignored if combined with any other token value. e.g. 'none copy' is equivalent to a 'copy' value.

Supported States and Properties | Accessible Rich Internet Applications (WAI-ARIA) 1.0

Values of aria-dropeffect


Input: [EXI Option] alignment [Default Value] bit-packed [Description]

Output: Alignment of event codes and content items

Efficient XML Interchange (EXI) Format 1.0

Table 5-1. EXI Options in Options Document


Input: [EXI Option] compression [Default Value] false [Description]

Output: EXI compression is used to achieve better compactness

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] strict [Default Value] false [Description]

Output: Strict interpretation of schemas is used to achieve better compactness

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] fragment [Default Value] false [Description]

Output: Body is encoded as an EXI fragment instead of an EXI document

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] preserve [Default Value] all false [Description]

Output: Specifies whether the support for the preservation of comments, pis, etc. is each enabled

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] selfContained [Default Value] false [Description]

Output: Enables self-contained elements

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] schemaId [Default Value] no default value [Description]

Output: Identify the schema information, if any, used to encode the body

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] datatypeRepresentationMap [Default Value] no default value [Description]

Output: Specify alternate datatype representations for typed values in the EXI body

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] blockSize [Default Value] 1,000,000 [Description]

Output: Specifies the block size used for EXI compression

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] valueMaxLength [Default Value] unbounded [Description]

Output: Specifies the maximum string length of value content items to be considered for addition to the string table.

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] valuePartitionCapacity [Default Value] unbounded [Description]

Output: Specifies the total capacity of value partitions in a string table

Efficient XML Interchange (EXI) Format 1.0


Input: [EXI Option] [user defined meta-data] [Default Value] no default value [Description]

Output: User defined meta-data may be added

Efficient XML Interchange (EXI) Format 1.0


Input: [Property] backface-visibility [Values] visible | hidden [Initial] visible [Applies to] transformable elements [Inh.] no [Media] visual [Percentages]


Input: [Property] perspective [Values] none | [Initial] none [Applies to] transformable elements [Inh.] no [Media] visual [Percentages]


Input: [Property] perspective-origin [Values] [ [ | | left | center | right ] [ | | top | center | bottom ]? ] | [ [ left | center | right ] || [ top | center | bottom ] ] [Initial] 50% 50% [Applies to] transformable elements [Inh.] no [Media] visual [Percentages]

Output: refer to the size of the element's bounding box


Input: [Property] transform [Values] none | [ ]* [Initial] none [Applies to] transformable elements [Inh.] no [Media] visual [Percentages]

Output: refer to the size of the element's bounding box


Input: [Property] transform-origin [Values] [ top | bottom ] | [ | | left | center | right ] [ | | top | center | bottom ]? | [ center | [ left | right ] [ | ]? ] && [ center | [ top | bottom ] [ | ]? ] [Initial] 0 0 for SVG elements without associated CSS layout box, 50% 50% for all other elements [Applies to] transformable elements [Inh.] no [Media] visual [Percentages]

Output: refer to the size of the element's bounding box


Input: [Property] transform-style [Values] flat | preserve-3d [Initial] flat [Applies to] transformable elements [Inh.] no [Media] visual [Percentages]


Input: [Competency] Explain the difference between server side and client side scripts. Summarize the origin and development of PHP. List and briefly describe the most common alternatives to PHP. List some well known web sites and applications that has been built in PHP. Briefly explain the concept of Open Source. List some well-known public mailing lists, IRC channels and discussion forums where you can find help with PHP. [Evaluation Methods] Final exam [Topic]

Output: PHP history and uses

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate installing an HTTP-server, PHP and MySQL on a computer. Demonstrate the usage of php.ini and .htaccess Explain why display_errors should be off on a production web server. List some commonly used PHP-modules and demonstrate how to activate them on a web server. Demonstrate how to get information about a PHP-installation using phpinfo() and php -m. Demonstrate how to use PHP CLI. Demonstrate how to install an IDE or editor for PHP development. Explain the purpose and usage of development and staging servers. Explain the purpose of a version control system. [Evaluation Methods] Module 1: Installation Final exam [Topic]

Output: Installation and basic configuration of PHP and an IDE

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate how to switch between HTML-mode and PHP mode. List what types of php tags that you can use, and explain the potential pitfalls of using short open tags. (Note to teachers: Turn open tags off on the server you provide.) Demonstrate how to use single line, multi line and PhpDoc-style comments. Demonstrate how to separate instructions. Demonstrate how to use the echo and print statements. Recognize the differences between the two. [Evaluation Methods] Module 1: Installation Final exam Final assignment [Topic]

Output: Basic PHP syntax

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of server side includes and why it is better than client side frames. Describe the differences between PHP’s include, include_once, require and require_once commands. Explain performance benefits of using absolute paths when including files. Explain why included files should always reside outside of the server root directory. Demonstrate how PHP can make client side frames redundant. [Evaluation Methods] Assignment 1: Use PHP as a Template System [Topic]

Output: Using PHP as a simple template engine

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Note: This is meant as an overview. No in-depth knowledge yet. Briefly discuss key characteristics of a well written PHP_application. Demonstrate how to write readable and properly indented code. Demonstrate basic knowledge about coding conventions, especially the PEAR coding standard. Explain what revision control is. Show basic knowledge about phpDocumentor. Use the most basic tags in phpDocumentor and produce generated documentation for your code. Explain what bug tracking is. List a few well known bug trackers. [Evaluation Methods] (Most assignments will touch upon these concepts in some way.) Final assignment. Final exam. [Topic]

Output: PHP best practices overview

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of identifiers and list some identifier names one is not allowed to use in PHP. Explain the concept of sigils. Explain the consept of data types and compare strong and weak typing. Demonstrate type checking and type juggling. Recognize that all user-submitted data, and all data-base results, are strings to PHP. Demonstrate how to check for numeric values in strings. Explain the null value, and describe the difference between variables that are null and variables that have not been set. Demonstrate how to use the isset() and empty() functions. Explain what values in PHP that convert to false, when used in a boolean check. Demonstrate usage of variables and constants, using best practice naming conventions. Recognize the different kinds of constants in PHP (built in, magic, user defined; global, class). Demonstrate different syntaxes for setting constants (define and const - also for global constants since PHP 5.3) Explain the concept of statements. Demonstrate correct usage of statements and block statements. Explain the concept of expressions. Demonstrate correct usage of expressions. Explain what operators are and demonstrate correct usage of all common operators. Explain the concept of functions and all associated terminology and demonstrate how to write and use functions. Explain and use assignment by value and assignment by reference. Explain what arrays are in PHP and contrast the implementation to a few other programming languages. Demonstrate how to create and manipulate arrays and how to access individual items in arrays. Recognize all error levels in PHP and explain the difference between an error and an exception. Demonstrate how to handle errors appropriately. [Evaluation Methods] (Modules with exercises are appreciated.) Final assignment. Final exam. [Topic]

Output: Programming concepts

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the most commonly used HTTP methods (get, post, head) Demonstrate how to fetch information from the client using $_SERVER. Explain MIME-types, and demonstrate how to set MIME-types using PHP’s header-function. [Evaluation Methods] Module 2 (a): Emulate HTTP-connections with netcat or telnet Module 2 (b): Analyze HTTP-traffic using Firebug or a similar tool. Final assignment. Final exam. [Topic]

Output: HTTP

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Note: For any audience using non ascii-characters (almost everybody outside the USA and UK) this is essential! Describe the basics of character encodings and compare the terminology used by Unicode to the terminology used in HTTP-headers encoding vs. charset. Demonstrate how to specify the encoding used in a script (the setting on your editor or IDE). Explain the difference between multi-byte encodings and single-byte encodings. Demonstrate how to use multi-byte string functions in PHP 5.x. Recognize problems that might occur in PHP because of misinterpreted character encodings. Demonstrate how to set character encoding in HTTP-headers, using the http-server tools and PHP. List the characters that have a highest potential for abuse (e.g. “null” and “eof”) and demonstrate how to filter input to avoid them using ctype functions. Demonstrate how to set the encoding (and collation) in a MySQL table or field, using PhpMyAdmin or a similar tool. Demonstrate how to convert text between different encodings. [Evaluation Methods] Assignment 3. Final assignment Final exam Extra questions for SS 2: Explain what a BOM is and how it can cause problems for PHP scripts. What is the difference between little endian and big endian UTF-16? What is Unicode normalization? [Topic]

Output: Character encoding

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of locales. Demonstrate how to set timezones for PHP scripts. Demonstrate how to set locale for PHP scripts. Explain the concept of collation and demonstrate how to use locale aware string and array comparison and sorting. Demonstrate how locale and timezone information affects date and time functionality in PHP. Use the basic date and time functions. [Evaluation Methods] (Modules with exercises are appreciated.) Final exam Final assignment [Topic]

Output: Locales, timezones and time functions.

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of a string. Compare the two types of strings there is in PHP 6. Demonstrate how to set them and convert between them. Demonstrate how to get the length of a string and access its characters by index Demonstrate how to handle single and double quotes in strings with variables. Demonstrate how to concatenate strings. Demonstrate how to use heredoc and nowdoc. Recognize the two syntaxes that exist for heredoc as of PHP 5.3. Demonstrate how to escape characters in strings. Demonstrate correct usage of basic string functions, e.g. strlen, substr, strstr, strpos, trim, strtolower, with variants. Demonstrate how to compare strings, using operators and comparison functions like strcmp or strcoll. Demonstrate how to check the integrity of string contents using the ctype-functions. Explain the concept of regular expressions, exemplify when they can be used and demonstrate simple usage. [Evaluation Methods] Assignment 3. Final exam. Final assignment. [Topic]

Output: Strings

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate how to iterate over an array using the foreach function. Demonstrate how to sort arrays. Demonstrate how to perform a function call on each value in an array. Specifically, demonstrate how to remove magic quotes from GPC-data. Explain what the cursor is in an array and demonstrate how to walk through arrays. Demonstrate how to use assign multiple variables from array values using the list() language construct. Demonstrate how to check for the existence of specific keys or values within an array. Demonstrate how to attach and how to delete values at both the bottom and top of an array. [Evaluation Methods] Assignment 3. Final exam. Final assignment. [Topic]

Output: Array usage and array functions

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain some benefits of Object Oriented programming compared to procedural programming. Explain basic OO terminology. Demonstrate how to define and instantiate classes in PHP. Explain constructors and destructors, how to name constructors in PHP 4 and 5+ and how to use constructors. Demonstrate how to use the $this pseudovariable. Explain the concept of inheritance och demonstrate how to use the extends keyword. Explain the concept of polymorfism and demonstrate how to use interfaces and abstract classes in PHP. Briefly explain the differences in the object model between PHP 4 and PHP 5. Explain visibility of properties and methods. Explain class constants, static properties and methods and demonstrate how to use the scope resolution operator (Paamayim Nekudotayim). [Evaluation Methods] (Modules with exercises are appreciated.) Final exam Final assignment [Topic]

Output: Objects and classes (simple overview)

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the types of errors in PHP. Handle interaction errors e.g. GET-data does not match DB-record might produce a 404. Use good error handling strategies. E.g: Differentiate between development servers (show on page) vs. production servers (log errors). Make usable error pages and understandable error messages. Send the correct HTTP status code for error pages. Recognize exceptions and handle them using try and catch. [Evaluation Methods] (Modules with exercises are appreciated.) Final exam. Final assignment. [Topic]

Output: Error handling and exceptions

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize what separation of concerns mean for PHP development. Recognize the following concepts: Presentation logic and templates, business logic and data storage logic. Demonstrate a secure and logical directory structure for PHP applictions. Explain include paths. Demonstrate how to write an application that does not depend on being in a specific root directory. Demonstrate a good strategy for filtering all untrusted data. Demonstrate consistent and appropriate escaping of output data. Implement usable, SEO-friendly and hackable URL:s. Recognize rewrite rules. Recognize the abbreviation MVC and briefly explain the rationale behind it. [Evaluation Methods] Exercise 4. Final exam. Final assignment. [Topic]

Output: Server side architecture

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain why client side checks only can be used to offload a server and provide better usability, never for security. Explain why GPC-data might be quoted in PHP 4.x and 5.x. Explain what problems magic quotes were intended to solve, why they did not work properly and are being removed in PHP 6 and how they can be removed in a script. Explain how the superglobal array $_POST relates to name attributes in HTML forms. Demonstrate handling posted data. Recognize the usage of register globals and explain why it is a security hazard. Recognize the bad habit of manually making EGPCS-data into regular variables ($foo = $_POST[‘foo’] or extract($_POST)). Recognize the usage of $_REQUEST and explain why it is considered bad practice to use it. Recognize how sensitive data can be transmitted securily, using encryption. Recognize the abbreviations SSL and TLS. [Evaluation Methods] Exercise 5. Final exam. Final assignment. [Topic]

Output: Handling posted data

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate simple usage of the mail() function in PHP. Recognize the concept SMTP injection and demonstrate how to avoid it. [Evaluation Methods] Exercise 5. Final exam. Final assignment. [Topic]

Output: Sending email

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the sessionless nature of HTTP. Recognize session fixation and session hijacking. Use session_regenerate_id and set session ID using cookies only. Recognize HTTP-authentication in PHP. Preventing multiple submits of a form. Demonstrate how to prevent cross-posting using a session variable. [Evaluation Methods] Final exam. Final assignment. [Topic]

Output: Sessions and authentication

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Explain the concept of cookies and how they are passed to the server from the browser. Demonstrate how to set and read cookies. Explain the security benefits of server side only cookies, and demonstrate how to set them. [Evaluation Methods] Final exam. Final assignment. [Topic]

Output: Cookies

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Demonstrate how to read from and write to files. Recognize the different flags used to control the opening of file sockets. Recognize the most common security problems when usiing file functions. Demonstrate how to safely handle files uploaded by the user. [Evaluation Methods] Final exam. Final assignment. [Topic]

Output: File handling and storing data in text files

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] List some common Database Management Systems (DBMS). List some common alternatives to storing data in a relational database and briefly explain the merits and disadvantages of each option. Explain how SQLite can be used from every modern PHP installation. (Note: SQLite is primarily included to provide a way to explain data access abstraction using PDO.) Give an overview of how a relational database works. Recognize the terminology used about databases (relation/table, tuple/row, attribute/field/column, default values, NULL, keys, etc). Briefly explain the concept of normalization and recognize the related glossary (keys, functional dependency) List the available data types in MySQL and demonstrate proper usage of the most common ones. Explain the concept of indexes. Demonstrate how to use indexes in MySQL. Recognize the concept of a storage engines in MySQL and briefly explain the main differences between MyISAM and InnoDB. Demonstrate how to use PhpMyAdmin or a graphical tool to set up a database. Make a user with privileges suitable for PHP scripts. Demonstrate how to run queries in the tool. Demonstrate how to backup/dump a MySQL database. Question to reviewers: Is it possible to wait with constraints and referential integrity (foreign keys) until Server Side Scripting 2? [Evaluation Methods] Final assignment Final exam [Topic]

Output: Relational Database concepts and MySQL fundamentals

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the glossary of SQL (DDL, DML, CRUD) Demonstrate how to access a MySQL DBMS from a CLI tool. Demonstrate how to SELECT individual records and groups of records; SORT-ing and LIMIT-ing of the results. Demonstrate how to use JOIN. Demonstrate simple usage of SQL-functions (count!) Demonstrate how to INSERT data into a table. Demonstrate how to UPDATE a table and explain why one should always use the WHERE clause doing so. Demonstrate how to DELETE data and explain why one should always use the WHERE clause doing so. [Evaluation Methods] Final assignment Final exam [Topic]

Output: SQL

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize all 3 built in API’s to access a MySQL database from PHP (mysql, mysqli, PDO). Discuss their strengths and downsides. Demonstrate how to connect to a DBMS with PDO, prepare and execute statements, fetch single results and iterate over result sets. Recognize how to access reults from a prepared statement as normal arrays, associative arrays, objects and objects belonging to a specific class. Demonstrate safe usage of user submitted data in SQL. Recognize how to manually quote user submitted data. Discuss the benefits of prepared statements. Demonstrate how to handle errors and unexpected results using PDO. Demonstrate safe handling of database credentials. [Evaluation Methods] Final assignment Final exam [Topic]

Output: PDO

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize how to use the mysql and the mysqli functions. Discuss how to safely handle user submitted data using the mysql and the mysqli functions. [Evaluation Methods] Final exam [Topic]

Output: The mysql and the mysqli functions

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize PEAR, PECL, SPL and the most well known PHP Component libraries? Recognize the most common PHP Frameworks. Recognize the most common PHP applications/Content Managament Systems. Recognize the usage of PHP for extended functionality for some big websites (e.g. Facebook) [Evaluation Methods] Final exam [Topic]

Output: SPL, PEAR and Frameworks

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the most common formats for data interchange. Summarize the Ajax pattern for updating a web page. Briefly describe the concepts of API’s and Web Services. [Evaluation Methods] Final exam [Topic]

Output: Web Services, API’s, RSS, JSON and Ajax

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Competency] Recognize the most important technical considerations one must know when chosing a web host. List the most important security considerations one must know about shared hosting. Demonstrate usage of a web host control panel. [Evaluation Methods] Final assignment Final exam [Topic]

Output: Shared hosting

Es/Interact/Secuencias de comando del lado servidor 1 - Web Education Community Group


Input: [Connection Properties] connectionid [Definitions] This property is the ECMAScript string value of the Connection identifier, which uniquely identifies each instance of the Connection class. [Optional]

Output: false

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] state [Definitions] This property identifies the current state of the Connection instance; the value of the state is a symbolic constant that is the name of the state. [Optional]

Output: false

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] substate [Definitions] This property is a protocol-dependent property which allows further refinement of the state of a Connection, if desired. [Optional]

Output: true

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] dialogid [Definitions] This property is the identifier of an associated dialog, if there is one currently using the connection. [Optional]

Output: true

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] endpoint [Definitions] If connectionid is ever specified in the creation of a bridge with a conference or another connection via , this property identifies the connectionid of the second party in that bridge. This property will be updated each time a is executed. [Optional]

Output: false

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] duplexmode [Definitions] If connectionid is ever specified in the creation of a bridge with a conference or another connection via , this property identifies the duplex mode of that bridge. The value of this property is a character string that will be equal to "half" or "full" depending on whether the established bridge was unidirectional (for half duplex) or bidirectional (for full duplex). This property will be updated each time a is executed. [Optional]

Output: false

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] local [Definitions] This property is a URI which addresses the interpreter platform; for an incoming call, this is the called URI; for a redirected incoming call, this is also the most recent redirection, and the prior values are contained in the "redirect" property; for an outgoing call, this is the calling URI; [Optional]

Output: true

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] remote [Definitions] This property is a URI which addresses the remote device; for an incoming call, this is the calling URI; for a redirected incoming call, this is the requester of the most recent redirection, and prior values are contained in the "redirect" property; for an outgoing call, this is the called URI; [Optional]

Output: true

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] protocol [Definitions] This property is a reference to an object defining protocol information for the protocol used on this connection; the referenced object defines information which applies to all connections using this protocol, and it has at least two properties: name - the name of the connection protocol; the name MAY also be a property on the connection instance referencing protocol specific information; if no further protocol specific information is available, then Connection[Connection.protocol.name] is undefined; (see Appendix E for a suggested set of protocol names) version - the version of the connection protocol For example, the assignment of protocol-dependent user-to-user information to a variable tmp from a Connection instance referenced by the variable cx would be: [Optional]

Output: true

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] redirect [Definitions] This property is an array representing the connection redirection paths; the first element, Connection.redirect[0], is the original number, and the last element is the most recent redirected number; each element of the array MAY define any of the following four properties: uri - this element's path pi - presentation information si - screening information reason - for example, "unknown", "user busy", "no reply", "deflection during alerting", "deflection immediate response", "mobile subscriber not reachable" [Optional]

Output: true

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] aai [Definitions] This property is the application-to-application information passed during connection setup. [Optional]

Output: true

Voice Browser Call Control: CCXML Version 1.0


Input: [Connection Properties] originator [Definitions] This property is set to either "local" or "remote" and indicates the originator of the connection; for an incoming call, this property is set to "remote"; for an outgoing call, it is set to "local"; For example, the assignment of the originating URI to a variable uri from a Connection instance referenced by the variable cx would be: [Optional]

Output: true

Voice Browser Call Control: CCXML Version 1.0


Input: [Meaning] New constructs have been added to the schema [Class]

Output: Addition


Input: [Meaning] The meaning of the schema has been changed to more accurately match the specification [Class]

Output: Clarification


Input: [Meaning] Constructs have been removed from the schema [Class]

Output: Deletion


Input: [Meaning] The schema has been changed due to a datatype name change in the XML Schema specification [Class]

Output: Name


Input: [Meaning] A namespace name has been changed [Class]

Output: Namespace


Input: [Meaning] The meaning of the schema has been changed [Class]

Output: Semantic


Input: [Meaning] Style changes have been made to the schema [Class]

Output: Style


Input: [Meaning] The syntax of the schema has been updated due to changes in the XML Schema specification [Class]

Output: Syntax


Input: [Numerical Code] 200 [Example] property delivered correctly [Textual Description]

Output: OK


Input: [Numerical Code] 204 [Example] property retrieved without content [Textual Description]

Output: No Content


Input: [Numerical Code] 206 [Example] only a subset of the available data stored in the result set [Textual Description]

Output: Partial Content


Input: [Numerical Code] 400 [Example] syntactical error [Textual Description]

Output: Bad Request


Input: [Numerical Code] 404 [Example] the queries resource is not found [Textual Description]

Output: Not Found


Input: [Numerical Code] 415 [Example] get duration call on an image data store [Textual Description]

Output: Unsupported Media Type


Input: [Numerical Code] 462 [Example] location is not defined in MediaRSS [Textual Description]

Output: Property not defined in Source Format


Input: [Numerical Code] 500 [Example] internal library (e.g., extractor) crashes [Textual Description]

Output: Internal Server Error


Input: [Numerical Code] 562 [Example] a subset of properties implemented [Textual Description]

Output: Property not supported


Input: [Meaning] New constructs have been added to the schema [Class]

Output: Addition


Input: [Meaning] The meaning of the schema has been changed to more accurately match the specification [Class]

Output: Clarification


Input: [Meaning] Constructs have been removed from the schema [Class]

Output: Deletion


Input: [Meaning] The schema has been changed due to a datatype name change in the XML Schema specification [Class]

Output: Name


Input: [Meaning] A namespace name has been changed [Class]

Output: Namespace


Input: [Meaning] The meaning of the schema has been changed [Class]

Output: Semantic


Input: [Meaning] Style changes have been made to the schema [Class]

Output: Style


Input: [Meaning] The syntax of the schema has been updated due to changes in the XML Schema specification [Class]

Output: Syntax


Input: [Keyword] hidden [Data type] An arbitrary string [Control type] n/a [State]

Output: Hidden


Input: [Keyword] text [Data type] Text with no line breaks [Control type] Text field [State]

Output: Text


Input: [Keyword] search [Data type] Text with no line breaks [Control type] Search field [State]

Output: Search


Input: [Keyword] tel [Data type] Text with no line breaks [Control type] A text field [State]

Output: Telephone


Input: [Keyword] url [Data type] An absolute IRI [Control type] A text field [State]

Output: URL


Input: [Keyword] email [Data type] An e-mail address or list of e-mail addresses [Control type] A text field [State]

Output: E-mail


Input: [Keyword] password [Data type] Text with no line breaks (sensitive information) [Control type] Text field that obscures data entry [State]

Output: Password


Input: [Keyword] datetime [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC [Control type] A date and time control [State]

Output: Date and Time


Input: [Keyword] date [Data type] A date (year, month, day) with no time zone [Control type] A date control [State]

Output: Date


Input: [Keyword] month [Data type] A date consisting of a year and a month with no time zone [Control type] A month control [State]

Output: Month


Input: [Keyword] week [Data type] A date consisting of a week-year number and a week number with no time zone [Control type] A week control [State]

Output: Week


Input: [Keyword] time [Data type] A time (hour, minute, seconds, fractional seconds) with no time zone [Control type] A time control [State]

Output: Time


Input: [Keyword] datetime-local [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone [Control type] A date and time control [State]

Output: Local Date and Time


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

Output: Number


Input: [Keyword] range [Data type] A numerical value, with the extra semantic that the exact value is not important [Control type] A slider control or similar [State]

Output: Range


Input: [Keyword] color [Data type] An sRGB color with 8-bit red, green, and blue components [Control type] A color well [State]

Output: Color


Input: [Keyword] checkbox [Data type] A set of zero or more values from a predefined list [Control type] A checkbox [State]

Output: Checkbox


Input: [Keyword] radio [Data type] An enumerated value [Control type] A radio button [State]

Output: Radio Button


Input: [Keyword] file [Data type] Zero or more files each with a MIME type and optionally a file name [Control type] A label and a button [State]

Output: File Upload


Input: [Keyword] submit [Data type] An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission [Control type] A button [State]

Output: Submit Button


Input: [Keyword] image [Data type] 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 [Control type] Either a clickable image, or a button [State]

Output: Image Button


Input: [Keyword] reset [Data type] n/a [Control type] A button [State]

Output: Reset Button


Input: [Keyword] button [Data type] n/a [Control type] A button [State]

Output: Button


Input: [ID] 1 [Location] 3.2.3.5 The dir attribute [Subject] Rendering bidi without a style sheet [Comment] "The processing of this attribute depends on the presentation layer. For example, CSS 2.1 defines a mapping from this attribute to the CSS 'direction' and 'unicode-bidi' properties, and defines rendering in terms of those properties." We think that HTML 5, like HTML 4, should be able to render bidirectional text without a style sheet. It would break backwards compatibility to remove the ability of a browser to do so without CSS. Therefore in our opinion, HTML 5 has to describe the expected behavior in at least the detail of HTML 4 rather than leave it up to the "presentation layer". Note that we do not want to impose a requirement on implementations of HTML 5 to implement CSS, but you could describe the expected behaviour by just referencing CSS and defining a default stylesheet fragment. This would just mean that an HTML 5 implementation has to make things behave as if it used this CSS default stylesheet fragment [Owner] RI [WG] Y [8] EditDelete [Ed. / Subs.]


Input: [ID] 2 [Location] 4.6.21 The bdo element [Subject] bdo element doesn't leave rendering up to presentation layer [Comment] "If the element has the dir attribute set to the exact value ltr, then for the purposes of the bidi algorithm, the user agent must act as if there was a U+202D LEFT-TO-RIGHT OVERRIDE character at the start of the element, and a U+202C POP DIRECTIONAL FORMATTING at the end of the element." "If the element has the dir attribute set to the exact value rtl, then for the purposes of the bidi algorithm, the user agent must act as if there was a U+202E RIGHT-TO-LEFT OVERRIDE character at the start of the element, and a U+202C POP DIRECTIONAL FORMATTING at the end of the element." The section about the element does *not* leave the expected behavior completely up to the presentation layer - which is confusing. Content authors need to know if they should use CSS, if CSS would override the specified behavior etc. [Owner] RI [WG] Y [8] EditDelete [Ed. / Subs.]


Input: [ID] 3 [Location] 3.2.3.5 The dir attribute [Subject] Add note about using bidi constructs in content [Comment] We propose that you add a note making clear that using the directional markup provided by HTML5 is is better than attaching CSS styling to arbitrary markup such as etc., since information encoded in this way will apply to the content whether the CSS is used or not. [Owner] RI [WG] Y [8] EditDelete [Ed. / Subs.]


Input: [ID] 4 [Location] 3.2.3.5 The dir attribute [Subject] rlo and lro attribute values [Comment] Please consider allowing two new attribute values for the "dir" attribute: 'rlo' and 'lro' for dir. You do not need to remove the bdo element, but the new values will allow content authors to proceed to a scenario we described in the ITS 1.0 specification, It will also provide some additional power to the authors, since they will be able to attach dir="lro" to a block element. [Owner] RI [WG] Y [8] EditDelete [Ed. / Subs.]


Input: [ID] 5 [Location] 4.2.5.3 Pragma directives [Subject] what's the language of a document [Comment] Our proposal is as follows and is based on the text of the following sections: http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#document-wide-default-language http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-lang-and-xml:lang-attributes [1] Explain clearly that declarations in the http header and the meta element refer to the document as an object, rather than the text in a specific element (this is what makes the distinction between single and multiple values sensible). [2] Continue to recommend that the document-wide default language be defined by a lang attribute on the html tag, but say that if the lang attribute is missing and there is a language defined in the http or meta, then those language declarations can be used to guess the language of the text, if they contain a single value. [3] Establish the precedence between http vs meta. [4] Establish the rule that multiple values in the place that has precedence equates to lang="". This is very close to what we already have, but doesn't try to make the meta declaration a different thing than the http declaration, or change it so that multiple values are no longer valid. At the same time, it allows either the http or the meta to provide language information for text-processing, if the declaration is useable. We also feel that the spec seems to restrict the use of the term 'document-wide default language' to refer only to a language declared using the meta, and this is rather odd. We feel that in fact the lang attribute on the html element also establishes a document-wide default language. (See the text: "Until the pragma is successfully processed, there is no document-wide default language.") Update: This comment became part of ISSUE-88. [Owner] RI [WG] Y [8] EditDelete [Ed. / Subs.]


Input: [ID] 6 [Location] 4.6.18 The ruby element [Subject] ruby code samples [Comment] The code samples in the ruby section are misleading because they show white-space between the components that should not be there. eg. ... 漢 かん 字 じ ... Either show the examples as the code should look, eg. ... 漢かん字じ ... or add a note to say that the extra white space is there to show the structure clearly, but should not be copied. Similar comments apply to the examples in the rp section that follows. [Owner] RI [WG] - [8] EditDelete [Ed. / Subs.]


Input: [ID] 7 [Location] 4.6.18 The ruby element [Subject] Please add support for rb [Comment] In all the web sites that we looked at that currently use ruby markup in the wild, over 90% of code uses the rb tag. The current HTML5 model for ruby simplifies the code generally, but making the rb element obsolete will make most existing ruby code non-conformant and make it more difficult to copy code that follows the Ruby Annotation model, from XML or other formats, into HTML5. Please allow optional use of the rb element as part of the HTML5 model. [Owner] RI [WG] - [8] EditDelete [Ed. / Subs.]


Input: [ID] 8 [Location] 4.2.5.5 Specifying the document's character encoding [Subject] Allow utf-16 encoding declarations [Comment] Currently you are not allowed to use or the equivalent pragma directive in utf-16 encoded documents. While logically it is not needed to identify the character encoding, it introduces a special case for authors to remember, and almost certainly many authors will be unaware that this is disallowed and will do it. In addition, in-document declarations of this kind are particularly useful for developers, testers, or translation production managers who want to visually check the encoding of a document (since the bom cannot be seen). Furthermore, there would appear to be no risk incurred by allowing this, since the document would be encoded in utf-16 anyway. Note that the ask is not that the encoding of the document be determined by the meta element - the bom remains the way of determining that information - solely that no error or warning be raised if the meta element is used. Please make an exception in the spec for utf-16 so that it is allowed to use or the equivalent pragma directive in utf-16 encoded documents. [Owner] RI [WG] - [8] EditDelete [Ed. / Subs.]


Input: [Bugzilla bug (if applicable)] Bugzilla bug 16311 [Erratum (if applicable)] None [Description of change] Added new serialization parameter for specifying a separator that is inserted between items in the sequence that is to be serialized. [Affected sections] 2 Sequence Normalization 5.1.15 XML Output Method: the item-separator Parameter 6.1.15 XHTML Output Method: the item-separator Parameter 7.4.14 HTML Output Method: the item-separator Parameter 8.1.15 Text Output Method: the item-separator Parameter [Category]

Output: Substantive


Input: [Bugzilla bug (if applicable)] None [Erratum (if applicable)] None [Description of change] Added XSLT instructions equivalent to XQuery expressions for setting serialization parameters by means of a data model instance, and other editorial corrections and improvements. [Affected sections] 3.1 Setting Serialization Parameters by Means of a Data Model Instance [Category]

Output: Editorial


Input: [Bugzilla bug (if applicable)] None [Erratum (if applicable)] None [Description of change] Clarified the definition of host language to make it clear that APIs can be considered to be host languages. [Affected sections] 11 Conformance [Category]

Output: Editorial


Input: [Bugzilla bug (if applicable)] Bugzilla 6129 [Erratum (if applicable)] None [Description of change] Extended the definitions of the HTML and XHTML output methods to include support for HTML5 serialization. [Affected sections] 3 Serialization Parameters 5.1.2 XML Output Method: the html-version Parameter 6 XHTML Output Method 6.1.2 XHTML Output Method: the html-version Parameter 6.1.4 XHTML Output Method: the indent and suppress-indentation Parameters 6.1.7 XHTML Output Method: the doctype-system and doctype-public Parameters 6.1.14 XHTML Output Method: the include-content-type Parameter 7 HTML Output Method 7.1 Markup for Elements 7.2 Writing Attributes 7.3 Writing Character Data 7.4.1 HTML Output Method: the version and html-version Parameters 7.4.3 HTML Output Method: the indent and suppress-indentation Parameters 7.4.6 HTML Output Method: the doctype-system and doctype-public Parameters 7.4.6 HTML Output Method: the doctype-system and doctype-public Parameters D List of URI Attributes [Category]

Output: Substantive


Input: [Bugzilla bug (if applicable)] Bugzilla 17619 [Erratum (if applicable)] None [Description of change] Text associated with links to the definitions of the terms NCName, EncName and VersionNum was repeated several times. [Affected sections] 5.1.1 XML Output Method: the version Parameter 5.1.3 XML Output Method: the encoding Parameter C Summary of Error Conditions [Category]

Output: Editorial


Input: [Bugzilla bug (if applicable)] Bugzilla 15915 [Erratum (if applicable)] None [Description of change] Made uses of the terms "absent" and "unspecified" consistent. [Affected sections] 3.1 Setting Serialization Parameters by Means of a Data Model Instance [Category]

Output: Editorial


Input: [Bugzilla bug (if applicable)] Bugzilla 17282 [Erratum (if applicable)] None [Description of change] Changed type of the normalization-form serialization parameter to NMTOKEN. This would be an incompatible change from XQuery 1.0, for any implementation that supported the Serialization Feature, and supported an implementation-defined value for the normalization-form serialization parameter that did not have the lexical form of an NMToken. [Affected sections] 3 Serialization Parameters B Schema for Serialization Parameters [Category]

Output: Substantive


Input: [0] Parameter [1] Type [2]

Output: Description


Input: [0] AcceptExpiredCard [1] boolean [2]

Output: If true, credit cards that are expired before today are accepted


Input: [0] AllTypesEnabled [1] boolean [2]

Output: If true, all eight built-in credit card types are acceptable


Input: [0] CardTypeEnabled [1] (int, boolean) [2]

Output: Sets whether a specific card type is accepted or not


Input: [0] CreditCardExpirationDateSpeechObject [1] SpeechObject [2]

Output: Internal expiration date speech object


Input: [0] CreditCardInfoCANDCSpeechObject [1] SpeechObject [2]

Output: Internal confirm and correct speech object


Input: [0] CreditCardNumberSpeechObject [1] SpeechObject [2]

Output: Internal card number speech object


Input: [0] CreditCardTypeSpeechObject [1] SpeechObject [2]

Output: Internal card type speech object


Input: [0] InitialState [1] String [2]

Output: Initial state for the call-flow


Input: [0] PreamblePrompt [1] Playable [2]

Output: Prompt that is played at the beginning of the dialog


Input: [0] TypeQueryExplicit [1] boolean [2]

Output: If true, the credit card type is queried explicitly


Input: [Description] Generic type for widgets that can have a value [Inherited Concepts] Widget [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Input

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Generic type for the inputs that allow free-form text, as their value [Inherited Concepts] Input [Base and Related Concepts] XFORMS input [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Textbox

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Interactive reference to a resource (note, that in [HTML] 2 any element can have an href attribute and thus be a link) [Inherited Concepts] Widget [Base and Related Concepts] HTML Link [Inherited states] Disable zoom [nameRef] Child content title [Widget Role]

Output: Link

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A form control that allows the user to make selections from a set of choices [Inherited Concepts] Input List (see structure) Multiselectable [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Select

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Combobox is a presentation of a select, where you can type to locate a selected item. NOTE: In XForms the same select can have one of 3 appearances: combo-box, drop-down box or group of radio-buttons. Besides, many browsers (if not all of them) allow users to type in a drop-down select as well. [Inherited Concepts] Select [Base and Related Concepts] HTML select (multiple) [Inherited states] Disable zoom multiselectable [nameRef] Title [Widget Role]

Output: Combobox

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A selectable item in a list represented by a Select. [Inherited Concepts] Input ListItem (see structure) [Base and Related Concepts] ListItem(see structure), HTML option, XForms item Selected [Inherited states] Disable zoom [nameRef] Child content title [Widget Role]

Output: Option

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A control that has two possible states, an equivalent to a boolean [Inherited Concepts] Option [Base and Related Concepts] HTML input (type : checkbox) Checked="true"|"false" [Inherited states] Disable zoom selected [nameRef] Child content title [Widget Role]

Output: Checkbox

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A control that has three possible states, (1 0 -1) Often found in installer where an option has been partially installed [Inherited Concepts] Checkbox Checked="true"|"false"|"mixed" [Inherited states] Disable zoom selected [nameRef] Child content title [Widget Role]

Output: Checkboxtristate

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A radio is an option in single-select list. [Inherited Concepts] Checkbox [Base and Related Concepts] HTML input (type : radio) [Inherited states] Disable zoom selected checked="true"|"false" [nameRef] Child content title [Widget Role]

Output: Radio

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Maybe, we would rather have a generic "group of choices" type. [Inherited Concepts] Select [Inherited states] Disable zoom selected multiselectable [nameRef] Title [Widget Role]

Output: Radiogroup

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Allows for user-triggered actions. [Inherited Concepts] Widget Link [Base and Related Concepts] XFORMS trigger Pressed [Inherited states] Disable zoom [nameRef] Child conteny title [Widget Role]

Output: Button

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] This form control initiates submission of all or part of the instance data to which it is bound [Inherited Concepts] Button [Base and Related Concepts] HTML input (type :submit) [Inherited states] Disable zoom pressed [nameRef] Child conteny title [Widget Role]

Output: Buttonsubmit

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] This button initiates closing a window or leaving a form (e.g. To another page) without submission [Inherited Concepts] Button [Inherited states] Disable zoom pressed [nameRef] Child content title [Widget Role]

Output: Buttoncancel

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] This control brings a form to the initial state (e.g. returns all default values to all inputs) [Inherited Concepts] Button [Base and Related Concepts] HTML input (type : reset) [Inherited states] Disable zoom pressed [nameRef] Child content title [Widget Role]

Output: Buttonundo

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Brings user-agent to the previous page or state [Inherited Concepts] Button [Base and Related Concepts] HTML Link [Inherited states] Disable zoom pressed [nameRef] Child content title [Widget Role]

Output: Buttonback

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] How it differs from radio? [Inherited Concepts] Menuitem (see structure) Radio [Inherited states] Disable zoom selected checked="true"|"false" [nameRef] Child content title [Widget Role]

Output: MenuItemradio

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] How it differs from Checkbox? Isn't it defined by its parent's role? [Inherited Concepts] Menuitem Checkbox [Inherited states] Disable zoom selected checked="true"|"false" [nameRef] Title [Widget Role]

Output: MenuItemcheckbox

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Used by applications for tasks that take a long time to execute, to show the execution progress. [Inherited Concepts] Widget [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Progressbar

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A form control that is never displayed to the user, but is always submitted to the server with the form. NOTE: In XForms, unless bound to form controls, instance data nodes are not presented to the user; consequently, there is no need for a form control corresponding to [HTML] input type="hidden". [Inherited Concepts] Input [Base and Related Concepts] [HTML] input (type : hidden) [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Hidden

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Provides the user with the ability to supply information to the system in a manner that makes it difficult for someone, other than the user, who may be observing the process to discern the value that is being supplied. [Inherited Concepts] Input [Base and Related Concepts] [HTML] input (type : password) [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Secret

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A line or bar that separates and distinguishes sections of content [Inherited Concepts] Widget [Base and Related Concepts] [HTML] hr [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Separator

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Represents a range of values that can be set by the user. [Inherited Concepts] Input [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Range

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A user input where the user selects an input in a given range. It is a form of Range that expects an analog keyboard interface [Inherited Concepts] Range [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Slider

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A form of Range that expects a user selecting from discreet choices. [Inherited Concepts] Range [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: SpinButton

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Interactive table where the user can enter the values [Inherited Concepts] Widget Table Multiselectable [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Spreadsheet

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Intended for use in entering multi-line content [Inherited Concepts] TextBox [Base and Related Concepts] [HTML] textarea [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Textarea

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] Free-form data entry for short on-line content. [Inherited Concepts] TextBox [Base and Related Concepts] [HTML] input (type : text) [Inherited states] Disable zoom [nameRef] Child content title [Widget Role]

Output: Textfield

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A form of a Select (or, generally, of a list having groups inside groups) - where sub trees can be collapsed and expanded [Inherited Concepts] Select Chart Expanded [Inherited states] Disable zoom multiselectable [nameRef] Child content title [Widget Role]

Output: Tree

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] An option item of a tree. [Inherited Concepts] Option [Inherited states] Disable zoom selected [nameRef] Content child title [Widget Role]

Output: Treeitem

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A message with an alert or error information [Inherited Concepts] Window (see structure) Dialog [Base and Related Concepts] XFORMS alert [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Alert

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Description] A small application window [Inherited Concepts] Window [Inherited states] Disable zoom [nameRef] Title [Widget Role]

Output: Dialog

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Class] Addition [Meaning]

Output: New constructs have been added to the schema


Input: [Class] Clarification [Meaning]

Output: The meaning of the schema has been changed to more accurately match the specification


Input: [Class] Deletion [Meaning]

Output: Constructs have been removed from the schema


Input: [Class] Name [Meaning]

Output: The schema has been changed due to a datatype name change in the XML Schema specification


Input: [Class] Namespace [Meaning]

Output: A namespace name has been changed


Input: [Class] Semantic [Meaning]

Output: The meaning of the schema has been changed


Input: [Class] Style [Meaning]

Output: Style changes have been made to the schema


Input: [Class] Syntax [Meaning]

Output: The syntax of the schema has been updated due to changes in the XML Schema specification


Input: [Component] XPath 1.0 compatibility mode [Value]

Output: false

Static Context Components for use-when Expressions


Input: [Component] In scope namespaces [Value]

Output: determined by the in-scope namespaces for the containing element in the stylesheet


Input: [Component] Default element/type namespace [Value]

Output: determined by the xpath-default-namespace attribute if present (see 5.2 Unprefixed QNames in Expressions and Patterns); otherwise the null namespace


Input: [Component] Default function namespace [Value]

Output: The standard function namespace


Input: [Component] In scope type definitions [Value]

Output: The type definitions that would be available in the absence of any xsl:import-schema declaration


Input: [Component] In scope element declarations [Value]


Input: [Component] In scope attribute declarations [Value]


Input: [Component] In scope variables [Value]


Input: [Component] In scope functions [Value]

Output: The core functions defined in [Functions and Operators], together with the functions element-available, function-available, type-available, and system-property defined in this specification, plus the set of extension functions that are present in the static context of every XPath expression (other than a use-when expression) within the content of the element that is the parent of the use-when attribute. Note that stylesheet functions are not included in the context, which means that the function function-available will return false in respect of such functions. The effect of this rule is to ensure that function-available returns true in respect of functions that can be called within the scope of the use-when attribute. It also has the effect that these extensions functions will be recognized within the use-when attribute itself; however, the fact that a function is available in this sense gives no guarantee that a call on the function will succeed.


Input: [Component] In scope collations [Value]

Output: Implementation-defined


Input: [Component] Default collation [Value]

Output: The Unicode Codepoint Collation


Input: [Component] Base URI [Value]

Output: The base URI of the containing element in the stylesheet


Input: [Component] Statically known documents [Value]


Input: [Component] Statically known collections [Value]


Input: [ID] 1 [Location] 3.2.3.5 The dir attribute [Comment] "The processing of this attribute depends on the presentation layer. For example, CSS 2.1 defines a mapping from this attribute to the CSS 'direction' and 'unicode-bidi' properties, and defines rendering in terms of those properties." We think that HTML 5, like HTML 4, should be able to render bidirectional text without a style sheet. It would break backwards compatibility to remove the ability of a browser to do so without CSS. Therefore in our opinion, HTML 5 has to describe the expected behavior in at least the detail of HTML 4 rather than leave it up to the "presentation layer". Note that we do not want to impose a requirement on implementations of HTML 5 to implement CSS, but you could describe the expected behaviour by just referencing CSS and defining a default stylesheet fragment. This would just mean that an HTML 5 implementation has to make things behave as if it used this CSS default stylesheet fragment [Owner] RI [WG] Y [Ed. / Subs.] S [8] EditDelete [Subject]

Output: Rendering bidi without a style sheet


Input: [ID] 2 [Location] 4.6.21 The bdo element [Comment] "If the element has the dir attribute set to the exact value ltr, then for the purposes of the bidi algorithm, the user agent must act as if there was a U+202D LEFT-TO-RIGHT OVERRIDE character at the start of the element, and a U+202C POP DIRECTIONAL FORMATTING at the end of the element." "If the element has the dir attribute set to the exact value rtl, then for the purposes of the bidi algorithm, the user agent must act as if there was a U+202E RIGHT-TO-LEFT OVERRIDE character at the start of the element, and a U+202C POP DIRECTIONAL FORMATTING at the end of the element." The section about the element does *not* leave the expected behavior completely up to the presentation layer - which is confusing. Content authors need to know if they should use CSS, if CSS would override the specified behavior etc. [Owner] RI [WG] Y [Ed. / Subs.] S [8] EditDelete [Subject]

Output: bdo element doesn't leave rendering up to presentation layer


Input: [ID] 3 [Location] 3.2.3.5 The dir attribute [Comment] We propose that you add a note making clear that using the directional markup provided by HTML5 is is better than attaching CSS styling to arbitrary markup such as etc., since information encoded in this way will apply to the content whether the CSS is used or not. [Owner] RI [WG] Y [Ed. / Subs.] E [8] EditDelete [Subject]

Output: Add note about using bidi constructs in content


Input: [ID] 4 [Location] 3.2.3.5 The dir attribute [Comment] Please consider allowing two new attribute values for the "dir" attribute: 'rlo' and 'lro' for dir. You do not need to remove the bdo element, but the new values will allow content authors to proceed to a scenario we described in the ITS 1.0 specification, It will also provide some additional power to the authors, since they will be able to attach dir="lro" to a block element. [Owner] RI [WG] Y [Ed. / Subs.] S [8] EditDelete [Subject]

Output: rlo and lro attribute values


Input: [ID] 5 [Location] 4.2.5.3 Pragma directives [Comment] Our proposal is as follows and is based on the text of the following sections: http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#document-wide-default-language http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-lang-and-xml:lang-attributes [1] Explain clearly that declarations in the http header and the meta element refer to the document as an object, rather than the text in a specific element (this is what makes the distinction between single and multiple values sensible). [2] Continue to recommend that the document-wide default language be defined by a lang attribute on the html tag, but say that if the lang attribute is missing and there is a language defined in the http or meta, then those language declarations can be used to guess the language of the text, if they contain a single value. [3] Establish the precedence between http vs meta. [4] Establish the rule that multiple values in the place that has precedence equates to lang="". This is very close to what we already have, but doesn't try to make the meta declaration a different thing than the http declaration, or change it so that multiple values are no longer valid. At the same time, it allows either the http or the meta to provide language information for text-processing, if the declaration is useable. We also feel that the spec seems to restrict the use of the term 'document-wide default language' to refer only to a language declared using the meta, and this is rather odd. We feel that in fact the lang attribute on the html element also establishes a document-wide default language. (See the text: "Until the pragma is successfully processed, there is no document-wide default language.") Update: This comment became part of ISSUE-88. [Owner] RI [WG] Y [Ed. / Subs.] S [8] EditDelete [Subject]

Output: what's the language of a document


Input: [ID] 6 [Location] 4.6.18 The ruby element [Comment] The code samples in the ruby section are misleading because they show white-space between the components that should not be there. eg. ... 漢 かん 字 じ ... Either show the examples as the code should look, eg. ... 漢かん字じ ... or add a note to say that the extra white space is there to show the structure clearly, but should not be copied. Similar comments apply to the examples in the rp section that follows. [Owner] RI [WG] - [Ed. / Subs.] E [8] EditDelete [Subject]

Output: ruby code samples


Input: [ID] 7 [Location] 4.6.18 The ruby element [Comment] In all the web sites that we looked at that currently use ruby markup in the wild, over 90% of code uses the rb tag. The current HTML5 model for ruby simplifies the code generally, but making the rb element obsolete will make most existing ruby code non-conformant and make it more difficult to copy code that follows the Ruby Annotation model, from XML or other formats, into HTML5. Please allow optional use of the rb element as part of the HTML5 model. [Owner] RI [WG] - [Ed. / Subs.] E [8] EditDelete [Subject]

Output: Please add support for rb


Input: [ID] 8 [Location] 4.2.5.5 Specifying the document's character encoding [Comment] Currently you are not allowed to use or the equivalent pragma directive in utf-16 encoded documents. While logically it is not needed to identify the character encoding, it introduces a special case for authors to remember, and almost certainly many authors will be unaware that this is disallowed and will do it. In addition, in-document declarations of this kind are particularly useful for developers, testers, or translation production managers who want to visually check the encoding of a document (since the bom cannot be seen). Furthermore, there would appear to be no risk incurred by allowing this, since the document would be encoded in utf-16 anyway. Note that the ask is not that the encoding of the document be determined by the meta element - the bom remains the way of determining that information - solely that no error or warning be raised if the meta element is used. Please make an exception in the spec for utf-16 so that it is allowed to use or the equivalent pragma directive in utf-16 encoded documents. [Owner] RI [WG] - [Ed. / Subs.] E [8] EditDelete [Subject]

Output: Allow utf-16 encoding declarations


Input: [1] Type [2] Description [0]

Output: Parameter


Input: [1] Confirmation [2] The object that performs confirmation [0]

Output: Confirmation


Input: [1] boolean [2] If true, will initially invoke all contained SpeechObjects that have not yet obtained results [0]

Output: GetInitialResultsIfNeeded


Input: [1] Identify [2] The object that identifies which information needs to be corrected [0]

Output: Identify


Input: [1] int [2] Maximum number of retries attempted by Confirm and Correct [0]

Output: MaxRetryCount


Input: [1] SpeechObject[] [2] SpeechObjects to be contained (confirmed/corrected) [0]

Output: SpeechObject


Input: [1] (int, SpeechObject) [2] Adds/sets a SpeechObject for confirmation/correction [0]

Output: SpeechObject


Input: [Keyword] hidden [State] Hidden [Data type] An arbitrary string [Control type]


Input: [Keyword] text [State] Text [Data type] Text with no line breaks [Control type]

Output: Text field


Input: [Keyword] search [State] Search [Data type] Text with no line breaks [Control type]

Output: Search field


Input: [Keyword] tel [State] Telephone [Data type] Text with no line breaks [Control type]

Output: A text field


Input: [Keyword] url [State] URL [Data type] An absolute IRI [Control type]

Output: A text field


Input: [Keyword] email [State] E-mail [Data type] An e-mail address or list of e-mail addresses [Control type]

Output: A text field


Input: [Keyword] password [State] Password [Data type] Text with no line breaks (sensitive information) [Control type]

Output: Text field that obscures data entry


Input: [Keyword] datetime [State] Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with the time zone set to UTC [Control type]

Output: A date and time control


Input: [Keyword] date [State] Date [Data type] A date (year, month, day) with no time zone [Control type]

Output: A date control


Input: [Keyword] month [State] Month [Data type] A date consisting of a year and a month with no time zone [Control type]

Output: A month control


Input: [Keyword] week [State] Week [Data type] A date consisting of a week-year number and a week number with no time zone [Control type]

Output: A week control


Input: [Keyword] time [State] Time [Data type] A time (hour, minute, seconds, fractional seconds) with no time zone [Control type]

Output: A time control


Input: [Keyword] datetime-local [State] Local Date and Time [Data type] A date and time (year, month, day, hour, minute, second, fraction of a second) with no time zone [Control type]

Output: A date and time control


Input: [Keyword] number [State] Number [Data type] A numerical value [Control type]

Output: A text field or spinner control


Input: [Keyword] range [State] Range [Data type] A numerical value, with the extra semantic that the exact value is not important [Control type]

Output: A slider control or similar


Input: [Keyword] color [State] Color [Data type] An sRGB color with 8-bit red, green, and blue components [Control type]

Output: A color well


Input: [Keyword] checkbox [State] Checkbox [Data type] A set of zero or more values from a predefined list [Control type]

Output: A checkbox


Input: [Keyword] radio [State] Radio Button [Data type] An enumerated value [Control type]

Output: A radio button


Input: [Keyword] file [State] File Upload [Data type] Zero or more files each with a MIME type and optionally a file name [Control type]

Output: A label and a button


Input: [Keyword] submit [State] Submit Button [Data type] An enumerated value, with the extra semantic that it must be the last value selected and initiates form submission [Control type]

Output: A button


Input: [Keyword] image [State] Image Button [Data type] 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 [Control type]

Output: Either a clickable image, or a button


Input: [Keyword] reset [State] Reset Button [Data type] n/a [Control type]

Output: A button


Input: [Keyword] button [State] Button [Data type] n/a [Control type]

Output: A button


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: [Description] Updated to use the http://www.w3.org/2001/XMLSchema namespace [Class]

Output: Namespace


Input: [Description] Value of targetNamespace attribute changed to http://www.w3.org/2001/06/soap-encoding [Class]

Output: Namespace


Input: [Description] Changed type of the root attribute from restriction of boolean that only allowed 0 or 1 as lexical values to the standard boolean in the http://www.w3.org/2001/XMLSchema namespace. The lexical forms 0, 1, false, true are now allowed. [Class]

Output: Semantic


Input: [Description] Added processContents="lax" to all element and attribute wildcards [Class]

Output: Addition


Input: [Description] Changed base64 simple type to be a vacuous restriction of the base64Binary type in the http://www.w3.org/2001/XMLSchema namespace [Class]

Output: Syntax


Input: [Description] Updated all complex type definitions with simple base types to new syntax [Class]

Output: Syntax


Input: [Description] Added to all complex type definitions derived implicitly from the ur-type [Class]

Output: Syntax


Input: [Description] Added to all named model group definitions [Class]

Output: Syntax


Input: [Description] Removed the timeDuration datatype [Class]

Output: Deletion


Input: [Description] Added duration datatype derived by extension from the duration datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Removed the timeInstant datatype [Class]

Output: Deletion


Input: [Description] Added dateTime datatype derived by extension from the dateTime datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Added gYearMonth datatype derived by extension from the gYearMonth datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Added gYear datatype derived by extension from the gYear datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Added gMonthDay datatype derived by extension from the gMonthDay datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Added gDay datatype derived by extension from the gDay datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Removed the binary datatype [Class]

Output: Deletion


Input: [Description] Added hexBinary datatype derived by extension from the hexBinary datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Added base64Binary datatype derived by extension from the base64Binary datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Removed the uriReference datatype [Class]

Output: Deletion


Input: [Description] Added anyURI datatype derived by extension from the anyURI datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Added normalizedString datatype derived by extension from the normalizedString datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Added token datatype derived by extension from the token datatype in the http://www.w3.org/2001/XMLSchema namespace. [Class]

Output: Addition


Input: [Description] Added explicit namespace="##any" to all element and attribute wildcards which did not previously have an explicit namespace attribute [Class]

Output: Clarification


Input: [Description] Where possible comments have been changed into annotations [Class]

Output: Style


Input: [Numerical Code] 200 [Textual Description] OK [Example]

Output: property delivered correctly


Input: [Numerical Code] 204 [Textual Description] No Content [Example]

Output: property retrieved without content


Input: [Numerical Code] 206 [Textual Description] Partial Content [Example]

Output: only a subset of the available data stored in the result set


Input: [Numerical Code] 400 [Textual Description] Bad Request [Example]

Output: syntactical error


Input: [Numerical Code] 404 [Textual Description] Not Found [Example]

Output: the queries resource is not found


Input: [Numerical Code] 415 [Textual Description] Unsupported Media Type [Example]

Output: get duration call on an image data store


Input: [Numerical Code] 462 [Textual Description] Property not defined in Source Format [Example]

Output: location is not defined in MediaRSS


Input: [Numerical Code] 500 [Textual Description] Internal Server Error [Example]

Output: internal library (e.g., extractor) crashes


Input: [Numerical Code] 562 [Textual Description] Property not supported [Example]

Output: a subset of properties implemented


Input: [Widget Role] Input [Description] Generic type for widgets that can have a value [Inherited Concepts] Widget [Inherited states] Disable zoom [nameRef]

Output: Title

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Widget Role] Textbox [Description] Generic type for the inputs that allow free-form text, as their value [Inherited Concepts] Input [Base and Related Concepts] XFORMS input [Inherited states] Disable zoom [nameRef]

Output: Title

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Widget Role] Link [Description] Interactive reference to a resource (note, that in [HTML] 2 any element can have an href attribute and thus be a link) [Inherited Concepts] Widget [Base and Related Concepts] HTML Link [Inherited states] Disable zoom [nameRef]

Output: Child content title

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Widget Role] Select [Description] A form control that allows the user to make selections from a set of choices [Inherited Concepts] Input List (see structure) Multiselectable [Inherited states] Disable zoom [nameRef]

Output: Title

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Widget Role] Combobox [Description] Combobox is a presentation of a select, where you can type to locate a selected item. NOTE: In XForms the same select can have one of 3 appearances: combo-box, drop-down box or group of radio-buttons. Besides, many browsers (if not all of them) allow users to type in a drop-down select as well. [Inherited Concepts] Select [Base and Related Concepts] HTML select (multiple) [Inherited states] Disable zoom multiselectable [nameRef]

Output: Title

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Widget Role] Option [Description] A selectable item in a list represented by a Select. [Inherited Concepts] Input ListItem (see structure) [Base and Related Concepts] ListItem(see structure), HTML option, XForms item Selected [Inherited states] Disable zoom [nameRef]

Output: Child content title

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005


Input: [Widget Role] Checkbox [Description] A control that has two possible states, an equivalent to a boolean [Inherited Concepts] Option [Base and Related Concepts] HTML input (type : checkbox) Checked="true"|"false" [Inherited states] Disable zoom selected [nameRef]

Output: Child content title

Role Taxonomy for Accessible Adaptable Applications Working Draft, V1, 03-08-2005