Accessibility/Datatypes: Difference between revisions
Jump to navigation
Jump to search
| Line 12: | Line 12: | ||
! Notes | ! Notes | ||
|- | |- | ||
| aaa: | | aaa:datatype | ||
| " | | "datatype" | ||
| | | | ||
|- | |- | ||
| xs:base | | xs:base | ||
| " | | "datatypebase" | ||
| What the type is derived from. Must be one of the built-in types such as xs:integer. If original aaa:type is one of the built-in types, then this will be the same. | | What the type is derived from. Must be one of the built-in types such as xs:integer. If original aaa:type is one of the built-in types, then this will be the same. | ||
|- | |- | ||
| xs:minLength | | xs:minLength | ||
| " | | "value-minlength" | ||
| | | | ||
|- | |- | ||
| xs:maxLength | | xs:maxLength | ||
| " | | "value-maxlength" | ||
| | | | ||
|- | |- | ||
| xs:length | | xs:length | ||
| " | | "valueminlength" and "valuemaxlength" | ||
| Expose these two attributes with the same value | | Expose these two attributes with the same value | ||
|- | |- | ||
| xs:totalDigits | | xs:totalDigits | ||
| " | | "value-total-digits" | ||
| | | | ||
|- | |- | ||
| xs:fractionDigits | | xs:fractionDigits | ||
| " | | "value-fraction-digits" | ||
| | | | ||
|- | |- | ||
| Line 53: | Line 53: | ||
|- | |- | ||
| xs:whiteSpace | | xs:whiteSpace | ||
| " | | "value-whitespace" | ||
| | | | ||
|- | |- | ||
| xs:pattern | | xs:pattern | ||
| " | | "value-pattern" | ||
| | | | ||
|- | |- | ||
| xs:enumeration | | xs:enumeration | ||
| " | | "value-pattern" (must be built by in the format "<nowiki>string1|string2|string3</nowiki>"), with appropriate characters escaped with a backslash | ||
| same functionality as xs:pattern, so to simplify we expose the same way | | same functionality as xs:pattern, so to simplify we expose the same way | ||
|- | |- | ||
| xs:minInclusive | | xs:minInclusive | ||
| " | | "valuemin" | ||
| When aaa:valuemin is also set, the schema minimum value will be used | | When aaa:valuemin is also set, the schema minimum value will be used | ||
|- | |- | ||
| xs:maxInclusive | | xs:maxInclusive | ||
| " | | "valuemax" | ||
| When aaa:valuemax is also set, the schema maximum value will be used | | When aaa:valuemax is also set, the schema maximum value will be used | ||
|- | |- | ||
| xs:minExclusive | | xs:minExclusive | ||
| " | | "valuemin" + "valuemin-exclude"="true" | ||
| | | | ||
|- | |- | ||
| xs:maxExclusive | | xs:maxExclusive | ||
| " | | "valuemax" + "valuemax-exclude"="true" | ||
| | | | ||
|- | |- | ||
| xs:union | | xs:union | ||
| " | | "value-pattern" | ||
| This must be generated as a fixup to " | | This must be generated as a fixup to "value-pattern" using the OR operator | ||
|- | |- | ||
| xs:list | | xs:list | ||
| " | | "value-list"="true" and change "datatypebase" to the specified xs:itemType for the list | ||
| | | | ||
|} | |} | ||
Revision as of 17:02, 27 July 2007
Proposal
- Change aaa:datatype attribute name to aaa:type (to match what's used with schema)
- Allow aaa:type attribute to point to any schema, e.g. type="my:phonenumber"
- The user agent will parse the data type pointed to and provide the following information via ATK/AT-SPI/IAccessible2 object attributes (which can expose arbitrary string values)
- Each element on the page can utilize a simple type, and the schema can define the xs:restrictions as well as the xs:use attribute
- If a complex type is used, it makes the most sense to map this to multiple elements on the page, each with its own simple type
- Note that this means HTML will *not* be usable for author defined types, because it does not support xmlns, and thus the actualy datatype would not be reachable by the user agent.
| Type information | Object attribute or state | Notes |
|---|---|---|
| aaa:datatype | "datatype" | |
| xs:base | "datatypebase" | What the type is derived from. Must be one of the built-in types such as xs:integer. If original aaa:type is one of the built-in types, then this will be the same. |
| xs:minLength | "value-minlength" | |
| xs:maxLength | "value-maxlength" | |
| xs:length | "valueminlength" and "valuemaxlength" | Expose these two attributes with the same value |
| xs:totalDigits | "value-total-digits" | |
| xs:fractionDigits | "value-fraction-digits" | |
| xs:use="fixed" | "valuenow" | Also sets readonly state (overrides aaa:readonly). Author should also set aaa:valuenow to the same value, and not allow changes. In the case of a difference, the schema will override aaa:valuenow. |
| xs:use="default" | Not mapped, because author should be responsible to fill in aaa:valuenow on element initialization | |
| xs:use="required" | required state | same as aaa:required. aaa true, required state will be set |
| xs:whiteSpace | "value-whitespace" | |
| xs:pattern | "value-pattern" | |
| xs:enumeration | "value-pattern" (must be built by in the format "string1|string2|string3"), with appropriate characters escaped with a backslash | same functionality as xs:pattern, so to simplify we expose the same way |
| xs:minInclusive | "valuemin" | When aaa:valuemin is also set, the schema minimum value will be used |
| xs:maxInclusive | "valuemax" | When aaa:valuemax is also set, the schema maximum value will be used |
| xs:minExclusive | "valuemin" + "valuemin-exclude"="true" | |
| xs:maxExclusive | "valuemax" + "valuemax-exclude"="true" | |
| xs:union | "value-pattern" | This must be generated as a fixup to "value-pattern" using the OR operator |
| xs:list | "value-list"="true" and change "datatypebase" to the specified xs:itemType for the list |