Accessibility/Datatypes: Difference between revisions

No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{| summary="Proposed mapping IAccessible2 to Gecko Accessible" width="90%" border="1" cellspacing="1" cellpadding="1"
== Proposal ==
! IAccessible2
* Allow aaa:datatype attribute to point to any schema, e.g. type="my:phonenumber"
| Description
* 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)
! Gecko Accessible
* 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
! Description
* 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.
 
{| summary="Proposed data type attribute to mapping" width="90%" border="1" cellspacing="1" cellpadding="1"
! Type information
! Object attribute or state
! Notes
|-
|-
| nRelations
| aaa:datatype
| Returns the number of accessible relations for this object
| "datatype"
| ??
|
|
|-
|-
| relation
| xs:base
| Returns one accessible relation for this object
| "datatypebase"
| ??
| What the type is derived from. Must be one of the built-in types such as xs:integer. If original aaa:datatype is one of the built-in types, then this will be the same.
|
|-
|-
| relations
| xs:minLength
| Returns multiple accessible relations for this object
| "value-minlength"
| ??
|
|
|-
|-  
| scrollTo
| xs:maxLength
| Makes an object visible on screen
| "value-maxlength"
| ??
|
|
|-
| xs:length
| "valueminlength" and "valuemaxlength"
| Expose these two attributes with the same value
|-
|-
| groupPosition
| xs:totalDigits
| Returns grouping information
| "value-total-digits"
| ??
|
|
|-
|-
| localizedRoleName
| xs:fractionDigits
| Returns the localized role name
| "value-fraction-digits"
| ??
|
|
|-
|-
| states
| xs:use="fixed"
| Returns the bit strip containing any IAccessible2 states
| "valuenow"
| nsIAccessible::finalState
| 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.
| Returns the bit field which describes boolean properties of node
|-
|-
| localizedStateNames
| xs:use="default"
| Returns localized state names (array of strings)
|  
| ??
| Not mapped, because author should be responsible to fill in aaa:valuenow on element initialization
|
|-
|-
| extendedRole
| xs:use="required"
| Returns the extended role
| required state
| ??
| same as aaa:required. aaa true, required state will be set
|
|-
|-
| localizedExtendedRole
| xs:whiteSpace
| Returns the localized extended role
| "value-whitespace"
| ??
|
|
|-
|-  
| nExtendedStates
| xs:pattern
| Returns the number of extended states
| "value-pattern"
| ??
|
|
|-
|-
| extendedStates
| xs:enumeration
| Returns the extended states (array of strings)
| "value-pattern" (must be built by in the format "<nowiki>string1|string2|string3</nowiki>"), with appropriate characters escaped with a backslash
| nsIAccessible::extState
| same functionality as xs:pattern, so to simplify we expose the same way
| Extended accessible states -- second bit field describing node
|-
|-
| localizedExtendedStates
| xs:minInclusive
| Returns the localized extended states (array of strings)
| "valuemin"
| ??
| When aaa:valuemin is also set, the schema minimum value will be used
|
|-
|-
| uniqueID
| xs:maxInclusive
| Returns the unique ID
| "valuemax"
| ??
| When aaa:valuemax is also set, the schema maximum value will be used
|
|-
|-
| windowHandle
| xs:minExclusive
| Returns the window handle for the parent window which contains this object
| "valuemin" + "valuemin-exclude"="true"
| ??
|
|
|-
|-
| indexInParent
| xs:maxExclusive
| Returns the index of this object in its parent object
| "valuemax" + "valuemax-exclude"="true"
| ??
|
|
|-
|-
| locale
| xs:union
| Returns the IA2Locale of the accessible object
| "value-pattern"
| ??
| This must be generated as a fixup to "value-pattern" using the OR operator
|
|-
|-
| attributes
| xs:list
| Returns the attributes specific to this IAccessible2 object, such as a cell's formula
| "value-list"="true" and change "datatypebase" to the specified xs:itemType for the list
| nsIAccessible::attributes
|  
| Attributes of accessible
|}
|}
346

edits