1 <node name="/node" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
3 <tp:title>AT-SPI - Assistive Technology Service Provider Interface </tp:title>
4 <tp:copyright>Copyright 2008 Novell, Inc.</tp:copyright>
5 <tp:copyright>Copyright 2001 Sun Microsystems, Inc.</tp:copyright>
6 <tp:license xmlns="http://www.w3.org/1999/xhtml">
7 <p>This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.</p>
12 <p>This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.</p>
17 <p>You should have received a copy of the GNU Library General Public
18 License along with this library; if not, write to the
19 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA.</p>
22 <tp:enum name="TEXT_BOUNDARY_TYPE" type="u">
23 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
24 <p>Specifies the boundary conditions determining a run of text as returned from
25 getTextAtOffset, getTextAfterOffset, and getTextBeforeOffset.</p>
27 <tp:enumvalue suffix="TEXT_BOUNDARY_CHAR">
28 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
29 <p>< Text is bounded by this character only.
30 Start and end offsets differ by one, by definition, for this value. </p>
33 <tp:enumvalue suffix="TEXT_BOUNDARY_WORD_START" value="1">
34 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
35 <p>< Boundary condition is start of a word; i.e. range is from start of
36 one word to the start of another word. </p>
39 <tp:enumvalue suffix="TEXT_BOUNDARY_WORD_END" value="2">
40 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
41 <p>< Boundary condition is the end of a word; i.e. range is from
42 the end of one word to the end of another.
43 @note some locales may not distinguish between words and
44 characters or glyphs, in particular those locales which use
45 wholly or partially ideographic character sets. In these cases,
46 characters may be returned in lieu of multi-character substrings.</p>
49 <tp:enumvalue suffix="TEXT_BOUNDARY_SENTENCE_START" value="3">
50 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
51 <p>< Boundary condition is start of a sentence, as determined
53 @note Some locales or character sets may not include explicit sentence
54 delimiters, so this boundary type can not always be honored.
55 Some locales will return lines of text instead of grammatical sentences.</p>
58 <tp:enumvalue suffix="TEXT_BOUNDARY_SENTENCE_END" value="4">
59 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
60 <p>< Boundary condition is end of a sentence, as determined by the application,
61 including the sentence-delimiting character, for instance '.'
62 @note Some locales or character sets may not include explicit sentence
63 delimiters, so this boundary type can not always be honored.
64 Some locales will return lines of text instead of grammatical sentences.</p>
67 <tp:enumvalue suffix="TEXT_BOUNDARY_LINE_START" value="5">
68 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
69 <p>< Boundary condition is the start of a line; i.e. range is
70 from start of one line to the start of another. This generally
71 means that an end-of-line character will appear at the end of the range. </p>
74 <tp:enumvalue suffix="TEXT_BOUNDARY_LINE_END" value="6">
75 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
76 <p>< Boundary condition is the end of a line; i.e. range is
77 from start of one line to the start of another. This generally
78 means that an end-of-line character will be the first character of the range. </p>
82 <tp:enum name="TEXT_CLIP_TYPE" type="u">
83 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
85 CLIP_MIN means text clipped by min coordinate is omitted,
86 CLIP_MAX clips text interescted by the max coord, and CLIP_BOTH
87 will retain only text falling fully within the min/max bounds. </p>
89 <tp:enumvalue suffix="TEXT_CLIP_NONE"/>
90 <tp:enumvalue suffix="TEXT_CLIP_MIN" value="1">
92 < characters/glyphs clipped by the minimum coordinate are omitted
95 <tp:enumvalue suffix="TEXT_CLIP_MAX" value="2">
97 < characters/glyphs which intersect the maximum coordinate are omitted
100 <tp:enumvalue suffix="TEXT_CLIP_BOTH" value="3">
102 < only glyphs falling entirely within the region bounded by min and max are retained.
106 <interface name="org.freedesktop.atspi.Text">
107 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
108 <p>The text interface should be implemented by objects which place textual information onscreen as character
109 strings or glyphs. The text interface allows access to textual content, including display attributes and
110 semantic hints associated with runs of text, and access to bounding box information for glyphs and substrings.
111 It also allows portions of textual content to be selected, if the object's StateSet includes
112 STATE_SELECTABLE_TEXT. </p>
114 <p>In some cases a Text object may have, as its content, an empty string. In particular this can
115 occur in the case of Hypertext objects which do not display explicitly textual information onscreen,
116 as Hypertext is derived from the Text interface. @see Hypertext. </p>
118 <p>Typographic and semantic attributes of onscreen textual content, for instance typeface, weight,
119 language, and such qualities as 'emphasis' or 'blockquote', are represented as text attributes.
120 Contiguous sequences of characters over which these attributes are unchanged are referred to as
121 "attribute runs", and are available via Text::getAttributeRun. Where possible, implementing clients
122 will report textual attributes which are the same over the entire text object, for instance those
123 inherited from a default or document-scope style, via getDefaultAttributes instead of reporting them
124 explicitly for each character. Therefore, for any span of text, the attributes in effect are the union
125 of the set returned by Text::getDefaultAttributes, and the set returned at a particular character
126 offset via Text::getAttributeRun. </p>
128 <p>@note Events that may be emitted by instances of Text include:
129 \li \c "object:text-attributes-changed" The attributes of a range of text, or the range over
130 which attributes apply, has changed.
131 \li \c "object:text-changed" The text content of this object has changed.
132 \li \c "object:text-bounds-changed" The character bounds of a text object have changed,
133 for instance in response to a reformatting or reflow operation.
134 \li \c "object:text-caret-moved" The character offset of the text caret (visible or notional) within
135 this object has changed. Events of this type may also be generated when an onscreen
136 text caret appears or disappears.
137 \li \c "object:text-selection-changed" The range or number of text selections within this text object
140 <p>@note In some cases, objects which are not onscreen may implement Text, but if such objects
141 implement Component, their potential visibility should be examined (via comparison with STATE_VISIBLE
142 and STATE_SHOWING) before exposing them to the user. Objects which implement Text but not Component
143 may be encountered in special-purpose interfaces or as special ¨accessibility¨ extensions to visual
144 interfaces to allow non-graphical access to application features. These instances should be considered
145 the exception, rather than the rule.</p>
147 <tp:struct name="Range">
148 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
149 <p>A structure used to define a continguous range of text, including its
150 (unattributed) textual content. </p>
152 <tp:member type="i" tp:name="startOffset"/>
153 <tp:member type="i" tp:name="endOffset"/>
154 <tp:member type="s" tp:name="content"/>
155 <tp:member type="v" tp:name="data"/>
157 <tp:property name="characterCount" type="i" access="read">
158 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
159 <p>The total current number of characters in the Text object,
160 including whitespace and non-spacing characters. </p>
163 <tp:property name="caretOffset" type="i" access="read">
164 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
165 <p>The current offset of the text caret in the Text object.
166 This caret may be virtual, e.g. non-visual and notional-only, but if an
167 onscreen representation of the caret position is visible, it will correspond to this offset.
168 The caret offset is given as a character offset, as opposed to a byte offset into
169 a text buffer or a column offset. </p>
172 <method name="getText">
173 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
174 <p>Obtain all or part of the onscreen textual content of a Text object. If endOffset is specified as
175 "-1", then this method will return the entire onscreen textual contents of the Text object.
176 @note 'onscreen' in this context means "potentially onscreen", this method does not perform any sort
177 of coordinate visibility clipping or window-stack-ordering clipping. The text thus reported
178 corresponds to the text which would be presented onscreen if the object implementing the Text interface
179 were entirely unobscured. </p>
181 <arg direction="in" name="startOffset" type="i"/>
182 <arg direction="in" name="endOffset" type="i"/>
183 <arg direction="out" type="s">
185 the textual content of the current Text object beginning startOffset (inclusive) up to but not including the character at endOffset.
189 <method name="setCaretOffset">
190 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
191 <p>Programmatically move the text caret (visible or virtual, as above) to a given position.
192 @param offset a long int indicating the desired character offset. Not all implementations of
193 Text will honor setCaretOffset requests, so the return value below should be checked by the client.</p>
195 <arg direction="in" name="offset" type="i"/>
196 <arg direction="out" type="b" tp:type="boolean">
198 \c TRUE if the request was carried out, or \c FALSE if the caret could not be moved to the requested position.
202 <method name="getTextBeforeOffset">
203 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
204 <p>Obtain a subset of the text content of an object which entirely precedes \c offset,
205 delimited by character, word, line, or sentence boundaries as specified by \c type. The
206 starting and ending offsets of the resulting substring are returned in \c startOffset
207 and \c endOffset. By definition, if such a substring exists, \c endOffset is less than or
209 @param offset the offset from which the substring search begins.
210 @param type the text-boundary delimiter which determines whether the returned text constitures
211 a character, word, line, or sentence (and possibly attendant whitespace),
212 and whether the start or ending of such a substring forms the boundary condition.
213 @param startOffset back-filled with the starting offset of the resulting substring, if one exists.
214 @param endOffset back-filled with the offset of the character immediately following the resulting
215 substring, if one exists.
216 @see TEXT_BOUNDARY_TYPE</p>
218 <arg direction="in" name="offset" type="i"/>
219 <arg direction="in" name="type" type="u" tp:type="TEXT_BOUNDARY_TYPE"/>
220 <arg direction="out" name="startOffset" type="i"/>
221 <arg direction="out" name="endOffset" type="i"/>
222 <arg direction="out" type="s">
224 a string which is a substring of the text content of the object, delimited by thespecified boundary condition.
228 <method name="getTextAtOffset">
229 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
230 <p>Obtain a subset of the text content of an object which includes the specified \c offset,
231 delimited by character, word, line, or sentence boundaries as specified by \c type. The
232 starting and ending offsets of the resulting substring are returned in \c startOffset
234 @param offset the offset from which the substring search begins, and which must
235 lie within the returned substring.
236 @param type the text-boundary delimiter which determines whether the returned text constitures
237 a character, word, line, or sentence (and possibly attendant whitespace),
238 and whether the start or ending of such a substring forms the boundary condition.
239 @param startOffset back-filled with the starting offset of the resulting substring, if one exists.
240 @param endOffset back-filled with the offset of the character immediately following the resulting
241 substring, if one exists.
242 @see TEXT_BOUNDARY_TYPE</p>
244 <arg direction="in" name="offset" type="i"/>
245 <arg direction="in" name="type" type="u" tp:type="TEXT_BOUNDARY_TYPE"/>
246 <arg direction="out" name="startOffset" type="i"/>
247 <arg direction="out" name="endOffset" type="i"/>
248 <arg direction="out" type="s">
250 a string which is a substring of the text content of the object, delimited by thespecified boundary condition.
254 <method name="getTextAfterOffset">
255 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
256 <p>Obtain a subset of the text content of an object which entirely follows \c offset,
257 delimited by character, word, line, or sentence boundaries as specified by \c type. The
258 starting and ending offsets of the resulting substring are returned in \c startOffset
259 and \c endOffset. By definition, if such a substring exists, \c startOffset must be greater than
261 @param offset the offset from which the substring search begins, and which must
262 lie before the returned substring.
263 @param type the text-boundary delimiter which determines whether the returned text constitures
264 a character, word, line, or sentence (and possibly attendant whitespace),
265 and whether the start or ending of such a substring forms the boundary condition.
266 @param startOffset back-filled with the starting offset of the resulting substring, if one exists.
267 @param endOffset back-filled with the offset of the character immediately following the resulting
268 substring, if one exists.
269 @see TEXT_BOUNDARY_TYPE</p>
271 <arg direction="in" name="offset" type="i"/>
272 <arg direction="in" name="type" type="u" tp:type="TEXT_BOUNDARY_TYPE"/>
273 <arg direction="out" name="startOffset" type="i"/>
274 <arg direction="out" name="endOffset" type="i"/>
275 <arg direction="out" type="s">
277 a string which is a substring of the text content of the object, delimited by thespecified boundary condition.
281 <method name="getCharacterOffset">
282 <arg name="offset" type="i" direction="in"/>
283 <arg type="i" direction="out">
284 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
285 an unsigned long integer whose value corresponds to the UCS-4 representation of the
286 character at the specified text offset, or 0 if offset is out of range.
287 long instead of wchar, to allow unicode chars > 16 bits
291 <method name="getAttributeValue">
292 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
293 <p>Get the string value of a named attribute at a given offset, if defined.
294 @param offset the offset of the character for which the attribute run is to be obtained.
295 @param attributeName the name of the attribute for which the value is to be returned, if defined.
296 @param startOffset back-filled with the offset of the first character in the attribute run
297 containing the character at \c offset.
298 @param endOffset back-filled with the offset of the first character past the end of the
299 attribute run containing the character at \c offset.
300 @param defined back-filled with \c True if the attributeName has a defined value at \c offset,
301 \c False otherwise.</p>
303 <arg direction="in" name="offset" type="i"/>
304 <arg direction="in" name="attributeName" type="s"/>
305 <arg direction="out" name="startOffset" type="i"/>
306 <arg direction="out" name="endOffset" type="i"/>
307 <arg direction="out" name="defined" type="b" tp:type="boolean"/>
308 <arg direction="out" type="s">
310 the value of attribute (name-value pair) corresponding to "name", if defined.
314 <method name="getAttributes">
316 getAttributes is deprecated in favor of getAttributeRun.
318 <arg direction="in" name="offset" type="i"/>
319 <arg direction="out" name="startOffset" type="i"/>
320 <arg direction="out" name="endOffset" type="i"/>
321 <arg direction="out" type="s">
323 the attributes at offset, as a semicolon-delimited set of colon-delimited name-value pairs. @see getAttributeRun
327 <method name="getDefaultAttributes">
329 Deprecated in favor of getDefaultAttributeSet.
331 <arg direction="out" type="s">
333 the attributes which apply to the entire text content, but which were not explicitlyspecified by the content creator.@see getDefaultAttributeSet
337 <method name="getCharacterExtents">
338 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
339 <p>Obtain a the bounding box, as x, y, width, and height, of the character or glyph at a particular
340 character offset in this object's text content. The coordinate system in which the results are
341 reported is specified by coordType. If an onscreen glyph corresponds to multiple character offsets,
342 for instance if the glyph is a ligature, the bounding box reported will include the entire glyph and
343 therefore may apply to more than one character offset.
344 @param offset the character offset of the character or glyph being queried.
345 @param x the minimum horizontal coordinate of the bounding box of the glyph representing
346 the character at \c offset.
347 @param y the minimum vertical coordinate of the bounding box of the glyph representing
348 the character at \c offset.
349 @param width the horizontal extent of the bounding box of the glyph representing
350 the character at \c offset.
351 @param height the vertical extent of the bounding box of the glyph representing
352 the character at \c offset.
353 @param coordType If 0, the results will be reported in screen coordinates, i.e. in pixels
354 relative to the upper-left corner of the screen, with the x axis pointing right
355 and the y axis pointing down.
356 If 1, the results will be reported relative to the containing toplevel window,
357 with the x axis pointing right and the y axis pointing down.</p>
359 <arg direction="in" name="offset" type="i"/>
360 <arg direction="out" name="x" type="i"/>
361 <arg direction="out" name="y" type="i"/>
362 <arg direction="out" name="width" type="i"/>
363 <arg direction="out" name="height" type="i"/>
364 <arg direction="in" name="coordType" type="n" tp:type="short"/>
366 <method name="getOffsetAtPoint">
367 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
368 <p>Get the offset of the character at a given onscreen coordinate. The coordinate system used to interpret
369 x and y is determined by parameter coordType.
372 @param coordType if 0, the input coordinates are interpreted relative to the entire screen, if 1,
373 they are relative to the toplevel window containing this Text object.</p>
375 <arg direction="in" name="x" type="i"/>
376 <arg direction="in" name="y" type="i"/>
377 <arg direction="in" name="coordType" type="n" tp:type="short"/>
378 <arg direction="out" type="i">
380 the text offset (as an offset into the character array) of the glyph whose onscreen bounds contain the point x,y, or -1 if the point is outside the bounds of any glyph.
384 <method name="getNSelections">
385 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
386 <p>Obtain the number of separate, contiguous selections in the current Text object.
387 Text objects which do not implement selection of discontiguous text regions will always
388 return '0' or '1'. Note that "contiguous" is defined by continuity of the offsets, i.e.
389 a text 'selection' is defined by a start/end offset pair. In the case of bidirectional text,
390 this means that a continguous selection may appear visually discontiguous, and vice-versa. </p>
392 <arg direction="out" type="i">
394 the number of contiguous selections in the current Text object.
398 <method name="getSelection">
399 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
400 <p>The result of calling getSelection with an out-of-range selectionNum (i.e. for a selection
401 which does not exist) is not strictly defined, but should set endOffset equal to startOffset.</p>
403 <arg direction="in" name="selectionNum" type="i"/>
404 <arg direction="out" name="startOffset" type="i"/>
405 <arg direction="out" name="endOffset" type="i"/>
407 <method name="addSelection">
408 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
409 <p>The result of calling addSelection on objects which already have one selection present, and which
410 do not include STATE_MULTISELECTABLE, is undefined, other than the return value.</p>
412 <arg direction="in" name="startOffset" type="i"/>
413 <arg direction="in" name="endOffset" type="i"/>
414 <arg direction="out" type="b" tp:type="boolean">
416 \c True of the selection was successfully added, \c False otherwise. Selection mayfail if the object does not support selection of text (see STATE_SELECTABLE_TEXT), if theobject does not support multiple selections and a selection is already defined, or for other reasons(for instance if the user does not have permission to copy the text into the relevant selection buffer).
420 <method name="removeSelection">
421 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
422 <p>Deselect the text contained in the specified selectionNum, if such a selection
423 exists, otherwise do nothing. Removal of a non-existant selectionNum has no effect.</p>
425 <arg direction="in" name="selectionNum" type="i"/>
426 <arg direction="out" type="b" tp:type="boolean">
428 \c True if the selection was successfully removed, \c False otherwise.
432 <method name="setSelection">
433 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
434 <p>Modify an existing selection's start or ending offset. </p>
436 <p>Calling setSelection for a selectionNum that is not already defined has no effect.
437 The result of calling setSelection with a selectionNum greater than 0 for objects that
438 do not include STATE_MULTISELECTABLE is undefined.
439 @param selectionNum indicates which of a set of non-contiguous selections to modify.
440 @param startOffset the new starting offset for the selection
441 @param endOffset the new ending offset for the selection</p>
443 <arg direction="in" name="selectionNum" type="i"/>
444 <arg direction="in" name="startOffset" type="i"/>
445 <arg direction="in" name="endOffset" type="i"/>
446 <arg direction="out" type="b" tp:type="boolean">
448 \c True if the selection corresponding to selectionNum is successfully modified, \c False otherwise.
452 <method name="getRangeExtents">
453 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
454 <p>Obtain the bounding box which entirely contains a given text range.
455 Negative values may be returned for the bounding box parameters in the event
456 that all or part of the text range is offscreen or not mapped to the screen.
457 @param startOffset the offset of the first character in the specified range.
458 @param endOffset the offset of the character immediately after the last
459 character in the specified range.
460 @param x an integer parameter which is back-filled with the minimum
461 horizontal coordinate of the resulting bounding box.
462 @param y an integer parameter which is back-filled with the minimum
463 vertical coordinate of the resulting bounding box.
464 @param width an integer parameter which is back-filled with the
465 horizontal extent of the bounding box.
466 @param height an integer parameter which is back-filled with the
467 vertical extent of the bounding box.
468 @param coordType If 0, the above coordinates are reported in pixels relative to
469 corner of the screen; if 1, the coordinates are reported relative to the
470 corner of the containing toplevel window.</p>
472 <arg direction="in" name="startOffset" type="i"/>
473 <arg direction="in" name="endOffset" type="i"/>
474 <arg direction="out" name="x" type="i"/>
475 <arg direction="out" name="y" type="i"/>
476 <arg direction="out" name="width" type="i"/>
477 <arg direction="out" name="height" type="i"/>
478 <arg direction="in" name="coordType" type="n" tp:type="short"/>
480 <method name="getBoundedRanges">
481 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
482 <p>Return the text content within a bounding box,
483 as a list of Range structures.
484 Depending on the TEXT_CLIP_TYPE parameters, glyphs which are clipped by the
485 bounding box (i.e. which lie partially inside and partially outside it)
486 may or may not be included in the ranges returned.
487 @note This method may be of particular interest to screen review algorithms.
489 @param x the minimum x ( i.e. leftmost) coordinate of the bounding box.
490 @param y the minimum y coordinate of the bounding box.
491 @param width the horizontal size of the bounding box. The rightmost bound of the bounding box
493 @param height the vertical size of the bounding box. The maximum y value of the bounding box
495 @param coordType If 0, the above coordinates are interpreted as pixels relative to
496 corner of the screen; if 1, the coordinates are interpreted as pixels relative to the
497 corner of the containing toplevel window.
498 @param xClipType determines whether text which intersects the bounding box in the x direction
500 @param yClipType determines whether text which intersects the bounding box in the y direction
503 <arg direction="in" name="x" type="i"/>
504 <arg direction="in" name="y" type="i"/>
505 <arg direction="in" name="width" type="i"/>
506 <arg direction="in" name="height" type="i"/>
507 <arg direction="in" name="coordType" type="n" tp:type="short"/>
508 <arg direction="in" name="xClipType" type="u" tp:type="TEXT_CLIP_TYPE"/>
509 <arg direction="in" name="yClipType" type="u" tp:type="TEXT_CLIP_TYPE"/>
510 <arg direction="out" type="a(iisv)" tp:type="RangeList"/>
512 <method name="getAttributeRun">
513 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
514 <p>Query a particular text object for the text attributes defined at a given offset,
515 obtaining the start and end of the "attribute run" over which these attributes are currently
516 invariant. Text attributes are those presentational, typographic, or semantic attributes or
517 qualitites which apply to a range of text specifyable by starting and ending offsets.
518 Attributes relevant to localization should be provided in
519 accordance with the w3c "Internationalization and Localization Markup Requirements",
520 http://www.w3.org/TR/2005/WD-itsreq-20051122/
521 Other text attributes should choose their names and value semantics in accordance with relevant
522 standards such as CSS level 2 (http://www.w3.org/TR/1998/REC-CSS2-19980512),
523 XHTML 1.0 (http://www.w3.org/TR/2002/REC-xhtml1-20020801), and
524 WICD (http://www.w3.org/TR/2005/WD-WICD-20051121/). Those attributes from the aforementioned
525 specifications and recommendations which do not concern typographic, presentational, or
526 semantic aspects of text should be exposed via the more general Accessible::getAttributes() API
529 <p>For example, CSS attributes which should be exposed on text (either as default attributes, or
530 as explicitly-set attributes when non-default values are specified in the content view) include
531 the Font attributes (i.e. "css2:font-weight", "css2:font-style"),
532 the "css2:color" and "css2:background-color" attributes, and "css2:text-decoration" attribute. </p>
534 <p>If includeDefaults is TRUE, then this AttributeSet should include the default
535 attributes as well as those which are explicitly assigned to the attribute run in question.
536 startOffset and endOffset will be back-filled to indicate the start and end of the attribute run
537 which contains 'offset' - an attribute run is a contiguous section of text whose attributes are
539 @param offset the offset of the character whose attributes will be reported.
540 @param startOffset backfilled with the starting offset of the character range over which all
541 text attributes match those of \c offset, i.e. the start of the homogeneous
542 attribute run including \c offset.
543 @param endOffset backfilled with the offset of the first character past the character range over which all
544 text attributes match those of \c offset, i.e. the character immediately after
545 the homogeneous attribute run including \c offset.
546 @param includeDefaults if False, the call should only return those attributes which are
547 explicitly set on the current attribute run, omitting any attributes which are inherited from
548 the default values. See also Text::getDefaultAttributes. </p>
550 <p>@note Clients seeking annotations or properties of a more general nature, which
551 are not specific to the onscreen textual content of objects and cannot logically be applied
552 to specific character offset ranges,
553 should use Accessible::getAttributes instead.
554 The attributes returned by Text::getAttributeRun (with or without 'default attributes'),
555 are distinct from the properties/attributes returned by Accessible::getAttributes. </p>
557 <p>@see Accessible::getAttributes </p>
559 <arg direction="in" name="offset" type="i"/>
560 <arg direction="out" name="startOffset" type="i"/>
561 <arg direction="out" name="endOffset" type="i"/>
562 <arg direction="in" name="includeDefaults" type="b" tp:type="boolean"/>
563 <arg direction="out" type="as" tp:type="AttributeSet">
565 the AttributeSet defined at offset, optionally including the 'default' attributes. @since AT-SPI 1.7.0
569 <method name="getDefaultAttributeSet">
570 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
571 <p>Return an ::AttributeSet containing the text attributes which apply to all text in the object
572 by virtue of the default settings of the document, view, or user agent; e.g. those
573 attributes which are implied rather than explicitly applied to the text object.
574 For instance, an object whose entire text content has been explicitly marked as 'bold' will
575 report the 'bold' attribute via getAttributeRun(), whereas an object whose text weight is
576 inspecified may report the default or implied text weight in the default AttributeSet. </p>
578 <p>@since AT-SPI 1.7.0</p>
580 <arg direction="out" type="as" tp:type="AttributeSet"/>
582 <method name="unImplemented">
583 <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
587 <p>placeholders for future expansion.</p>
590 <method name="unImplemented2">