See Also: Text Members
Atk.Text should be implemented by Atk.Objects on behalf of widgets that have text content which is either attributed or otherwise non-trivial. Atk.Objects whose text content is simple, unattributed, and very brief may expose that content via atk_object_get_name instead; however if the text is editable, multi-line, typically longer than three or four words, attributed, selectable, or if the object already uses the 'name' ATK property for other information, the Atk.Text interface should be used to expose the text content. In the case of editable text content, Atk.EditableText (a subtype of the Atk.Text interface) should be implemented instead.
Atk.Text provides not only traversal facilities and change notification for text content, but also caret tracking and glyph bounding box calculations. Note that the text strings are exposed as UTF-8, and are therefore potentially multi-byte, and caret-to-byte offset mapping makes no assumptions about the character length; also bounding box glyph-to-offset mapping may be complex for languages which use ligatures.