Apache OpenOffice (AOO) Bugzilla – Issue 30980
Function AccessibleText_getTextAtOffset returnes wrong values
Last modified: 2006-02-09 09:29:02 UTC
From StarOffice 7(OpenOffice) -run setup application - './setup' -<tab><tab><space> to show help -<tab> to travel to multiline text Move between lines and see the values for 'start_range ' and 'end_range' calculated with this function. Moving to a new paragraph => the entire paragraph is reported and not only the current line. Moving to a new line from the current paragraph => wrong values reported for start_range and end_range of the current line.
Thig bug bloks: http://bugzilla.gnome.org/show_bug.cgi?id=124107
Ralf -> Oliver: Can you please have a look.
.
Same problem (incorrect ranges)for start word/end word. In the multi-line paragraph, use Ctrl-<arrow> to read left/right by word. Often the wrong things are read: you'll often get several characters in addition to the word you just landed on, especially when crossing line breaks. This is cause of bug: http://bugzilla.gnome.org/show_bug.cgi?id=149599
Moving to a paragraph for the first time, the values for start / end of the current line are equal to start / end of the paragraph. This is cause of bug: http://bugzilla.gnome.org/show_bug.cgi?id=149596
The text ranges values for start / end line of a paragraph are wrong. This is the cause of bug: http://bugzilla.gnome.org/show_bug.cgi?id=149597
Move between lines in the same paragraph. When moving upward, what is reported is this case, is different to what is reported moving downward. This is the cause of bug: http://bugzilla.gnome.org/show_bug.cgi?id=149598.
I can confirm that the multi line edit control does not handle text-type LINE correctly: it always reports the full paragraph for the first line and also fails to return WORDS in the other lines. However the writer issue seems to be a completly different one - at least my trace show correct values. Additionally the offsets are not passed to the gnome-java-bridge anyway, since the Java Accessibility API did not have the notion of text segments before Java 1.5 and I don't see support for those new interfaces in the gnome-java-bridge yet.
I use a independent tester, to verify the ranges and the string returned by function getTextAtOffset, both are wrong.
Created attachment 17104 [details] Proposed tester
To use this tester: - download and rename this attachment as 'simple-at.c' - get at-spi from CVS HEAD - replace file at-spi/test/simple-at.c with this one [- delete files '*simple-at' and 'simple-at.o' to make sure that new files are created after recompile ] - recompile - run '*simple-at'
I hope this test output helps: I wrote 1 line in Star Office : line = "word1 word2 word3" **************************************************************************************************** I moved word-by-word in the first line and the test program generated the output you can see below:* NOTE: The line is exactly written like above (with the spaces). At first the caret is on the firs positioin in the line. Notice that moving word-by-word , the text from _WORD START_ is composed from the first word and the second, which is WRONG because _WORD START_ should be ONLY the firs word. Taking the first case from the output below : WORD START: text:|word1word2| *****BAD****** WORD START: text:|word1| *****GOOD******* **************************************************************************************************** 0: 8072a30p object:text-caret-moved for Paragraph 1(Paragraph: word1 word2 word3 ) role text with details 0 10 TEXT: BOUNDARY: WORD START: range -1-9 text:|word1word2| LINE START: range 0-17 text:|word1 word2 word3| 1: 8072a30p object:text-caret-moved for Paragraph 1(Paragraph: word1 word2 word3 ) role text with details 6 0 TEXT: BOUNDARY: WORD START: range -1-9 text:|word2word3| LINE START: range 0-17 text:|word1 word2 word3| 2: 8072a30p object:text-caret-moved for Paragraph 1(Paragraph: word1 word2 word3 ) role text with details 12 6 TEXT: BOUNDARY: WORD START: range 12-17 text:|word3| LINE START: range 0-17 text:|word1 word2 word3| 3: 8072a30p object:text-caret-moved for Paragraph 1(Paragraph: word1 word2 word3 ) role text with details 17 12 TEXT: BOUNDARY: WORD START: range 10-16 text:|word3 | LINE START: range 0-17 text:|word1 word2 word3|
I have created a seperate issue for the bug with writer / word iteration: #i33129#
set target to OOo 2.0
retarget to later due to missing ressources
*** Issue 46885 has been marked as a duplicate of this issue. ***
PLEASE TAKE THIS OFF the 'later' milestone! This is a very serious defect for accessibility, one of the worst against OOo in my opinion.
set target milestone to OOo 2.0.2
re-targeted to OOo 3.0
re-targeting back to OOo 2.0.2, re-targeting to OOo 3.0 was done by error
Created attachment 32931 [details] i30980.odt contains a dialog with a multiline edit field for testing purposes
fixed in CWS tbe27
Created attachment 33055 [details] i30980.odt corrected
TBE->ES: Please verify on CWS tbe27. re-open issue and reassign to es@openoffice.org
reassign to es@openoffice.org
reset resolution to FIXED
Verified in CWS tbe27.
Ok in src680m156