Accessibility/TextAttributes

From MozillaWiki
Jump to navigation Jump to search

<< Back to Accessibility Home Page

Attribute list

Gecko specific

Attribute name Attribute description Text attribute Default text attribute
direction rtl or ltr for bidi text Yes Yes
border not sure how best to expose these properties, or whether to (same with outline CSS property) Yes
language What language is this text in, e.g. en-US Yes Yes
misspelled "true" if it is marked by the inline spell checker for being incorrectly spelled (Note: in most cases a special underlining style will accompany this mark, and the underlining+style should also be exposed as a decoration attribute) Yes
static "true" for list bullet/numbering text or layout-inserted text (such as via CSS pseudo styles :before or :after) Yes
z-index a number which indicates how low/high an element is Yes

IA2 proposed

Attribute name Attribute description Text attribute Default text attribute
background-color Background color as u, u, u Yes Yes
color Foreground color as u, u, u Yes Yes
font-family The computed font name Yes Yes
font-size Font size in pixels Yes Yes
font-style normal/italic/oblique Yes Yes
font-weight The computed font weight, as a number Yes Yes
text-line-through-mode continuous Yes Yes (empty implies none)
text-line-through-style none/solid Yes Yes (empty implies none)
text-line-through-type none/single Yes Yes (empty implies none)
text-underline-mode none/continuous Yes Yes (empty implies none)
text-underline-style none/solid Yes Yes (empty implies none)
text-underline-type none/single Yes Yes (empty implies none)
text-underline-width none/normal Yes Yes (empty implies none)
line-height CSS2 Yes Yes (empty implies none)
margin-bottom CSS2 Yes Yes (empty implies none)
margin-left CSS2 Yes Yes (empty implies none)
margin-right CSS2 Yes Yes (empty implies none)
text-align left/center/right/justify Yes Yes
text-indent CSS2 Yes Yes (empty implies none)

Proposed API

Summary

Returns a collection of text attributes at the given offset. Calculates the range where returned attributes are stretched.

 nsIPersistentProperties getTextAttributes(in long offset,
                                           out long rangeStartOffset,
                                           out long rangeEndOffset);

Parameters

offset
[in] the given offset
rangeStartOffset
[out] the start offset of the result range
rangeEndOffset
[out] the end offset of the result range

Return Value

A collection of text attributes (the list of pairs consisted from name and value).

Questions

  • What is the range hierarchy: are range nested or consecutive? Let we have a text 'abcdefghi'. If ranges are nested then we have two ranges: (0,9) and (3,6). If ranges are consecutive then we have three ranges (0, 3), (3, 6) and (6, 9).
  • Should text attributes in a range be either relative to a parent (in the case of nested ranges) or previous (in the case of consecutive ranges) range or cumulative?

Events

Summary

When a certain text attribute is changed then 'EVENT_TEXT_ATTRIBUTE_CHANGED' event should be fired.

Questions

  • How will AT know what attribute has been changed? Should the getTextAttributes() method return only last changed attribute?
  • It's not clear how to track CSS style changes mapped to text attributes. Possibly some of those changes will lead accessible is recreated.

References