After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 133275 - accessible description for page not correct.
accessible description for page not correct.
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
0.2.x
Other All
: Normal normal
: 2.22.0
Assigned To: Rich Burridge
Jody Goldberg
AP3
Depends on:
Blocks:
 
 
Reported: 2004-02-03 05:03 UTC by Chandrashekhar. Korlahalli
Modified: 2008-07-22 19:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Revision #1 (1.31 KB, patch)
2008-01-30 16:49 UTC, Rich Burridge
reviewed Details | Review
Revision #2 (1.69 KB, patch)
2008-02-06 15:44 UTC, Rich Burridge
none Details | Review
Revision #3 (1.80 KB, patch)
2008-02-06 16:26 UTC, Rich Burridge
committed Details | Review
lose the $l (proof of concept) (3.71 KB, patch)
2008-02-06 18:19 UTC, Joanmarie Diggs (IRC: joanie)
none Details | Review

Description Chandrashekhar. Korlahalli 2004-02-03 05:03:57 UTC
In gedit application, file menu > print preview. In print preview window,, 
page number, 1 of 6, screen reader reads it as page simple text, it will 
not read the page numer. For ex : page : 1 or page page of 6 etc.

Expected: 

Screen reader should read complete  line along with lable. For ex; “ page: 
2 of 6 “
Comment 1 padraig.obriain 2004-02-03 14:47:58 UTC
Transferring to gnopernicus for evaluation.
Comment 2 Dana Ormenisan 2004-02-26 13:58:23 UTC
  Loocking at at-poke, there are no relations between the spin button
and the two labels ('of' and 'Page total'). 
  But we usually need a LABEL_FOR/LABELED_BY relation between an
object and a single label.  In this case, we have that relation (see
the 'Page:' label). In my opinion this is not an usual situation, so
it has to be solved as a special-case. Even if we have these relations
I don't know how we shold report the required description.
  This problem is the same with the one described in bug 135366.
  I think the only solution for this problem is scripting. Any other
ideas?
Comment 3 bill.haneman 2004-03-01 00:05:40 UTC
It's not unusual for LABEL_FOR/LABELLED_BY to apply to multiple
objects, or for an object to have multiple labels. 
LABEL_FOR/LABELLED_BY are both potentially many-to-many relations. 
Can we fix this by creating somewhat more detailed RELATIONS in this UI?
Comment 4 padraig.obriain 2004-03-09 11:09:03 UTC
The text "of" and "6" are in separate labels. Even if we did create
label-for/labell-edby relations it probably would not be spoken in the
correct order. Even if we get the labels in the correct order we would
get "Page of 6 1" or "1 Page of 6" depending on whether the labels are
spoken before or after the name.
Comment 5 bill.haneman 2004-03-09 13:12:30 UTC
making the text labels for the page number and the word "of" separate
labels is definitely an a11y bug.  I'm sure it's probably an i18n bug
too... adding I18N keyword.
Comment 6 remus draica 2004-03-18 12:47:37 UTC

*** This bug has been marked as a duplicate of 111854 ***
Comment 7 remus draica 2004-03-19 10:24:49 UTC
Peopen, because this is not a duplicate of 11854.
Comment 8 bill.haneman 2004-03-25 13:58:00 UTC
I think the best behavior here would be to make "Page n of m" into a single
label, possibly one which uses markup or manipulation of its internal
PangoLayout to create the desired visual effect.  I think we may need ngettext
or something similar in order to correctly translate such a string; in any case
I think the string marked for translation needs to be something other than
"page", "of", etc.  From there we can composite the correct label text.  Doing
this with multiple labels works OK in english (if you're not using a
screenreader), but I think the "right fix" for gnopernicus and for i18n is
something like the above suggestion.
Comment 9 Jody Goldberg 2004-03-25 16:10:43 UTC
Bill : Making it into a single label is not feasible. The <n> in 'page <n> of <m>' is _editable_ 
Comment 10 bill.haneman 2004-03-25 16:35:50 UTC
right.  but how does one create a properly-localizable interface of this sort
(i.e. a numeric spinbutton embedded in a translatable string)?
The multi-label approach is broken for a11y in much the same way as for i18n
since the AT doesn't know what order the the labels should appear in.  
Comment 11 bill.haneman 2004-03-25 16:37:20 UTC
I guess - to be more clear - I am suggesting that "page <spinbutton> of n" may
not be a good UI from a HIG + i18n POV.  I think we should solicit feedback from
usability and i18n on this (probably this happens throughout GNOME, and needs to
be addressed in the HIG).
Comment 12 Calum Benson 2004-10-21 16:51:59 UTC
Apologies for spam-- ensuring Sun a11y team are cc'ed on all current a11y bugs.
 Filter on "SUN A11Y SPAM" to ignore.
Comment 13 Calum Benson 2006-04-26 17:09:12 UTC
Apologies for spam... ensuring Sun a11y folks are cc'ed on all current accessibility bugs.
Comment 14 Kjartan Maraas 2007-02-07 14:46:47 UTC
Did anything happen with this the last two years?
Comment 15 Rich Burridge 2008-01-30 16:46:56 UTC
Transferring to Orca. It's trivial to workaround this by adding a section
of code to the Orca gedit.py script.
Comment 16 Rich Burridge 2008-01-30 16:49:11 UTC
Created attachment 104044 [details] [review]
Revision #1

Patch to work around the problem.
 
If we are doing a Print Preview and we are focused on the
page number text area, also speak the "of n" labels to the
right of this area.

Please test.
Comment 17 Willie Walker 2008-02-06 03:42:14 UTC
This seems OK (thanks!).  Comment #4 demonstrates the problems we run into when trying to solve this in the general case.  Another example of this is the "Scrolling" tab of the gnome-terminal preferences dialog.  On that tab, the "Scrollback" spin buttons essentially have two labels -- the "Scrollback" label and the units ("lines" and "kilobytes").

default.py:getDisplayedLabel and default.py:findDisplayedLabel are kind of the beginnings of being able to support the multiple-label problem, but they currently do not provide any label/obj ordering support at this point.  We currently just present the labels in the linear order in which we found them followed by the object.  This algorithm doesn't handle the case where the object info should be presented before the label.

We could potentially open an RFE to handle the notion of the order in which to present objects and their labels, but I think we could also probably just custom script for now until the use case(s) go beyond this particular problem and the gnome-terminal problem.

The only comment I have for now is that we also need to make sure brailled is addressed.  :-)  Thanks!
Comment 18 Rich Burridge 2008-02-06 15:44:55 UTC
Created attachment 104566 [details] [review]
Revision #2

This version adds in the braille equivalent, but the problem is
that it puts them right at the end of the braille line. I.e:

BRAILLE LINE:  'gedit Application Unsaved Document 1 - gedit Frame TabList Unsaved Document 1 Page ToolBar 1 $l of 1'

There doesn't seem to be any existing API in the Line class in
braille.py to allow me to add them "one in" from the end of the
line.

One possibility is to add a new parameter to the addRegions()
method giving the position to append the region (default being to
always append it at the end). We are past the API freeze for GNOME 2.22
though.

Suggestions on how to fix this would be most appreciated.
Comment 19 Rich Burridge 2008-02-06 16:26:56 UTC
Created attachment 104568 [details] [review]
Revision #3

The changes needed to be in locusOfFocusChanged() rather than
onStateChanged(). There is still the concern of the "of N" being
appended to the braille line after the "$l".

I did try replacing:

            line.addRegion(braille.Region(" " + label1))
            line.addRegion(braille.Region(" " + label2))

with:
            length = len(line.regions)
            line.regions.insert(length-1, braille.Region(" " + label1))
            line.regions.insert(length-1, braille.Region(" " + label2))

but the problem there is that the last region on the braille line
before I try to insert two new ones just before the end, appears 
to be "1 $l". I would have expected that to have been two regions.

Maybe this is one of those cases where it's just better to only try to
improve the situation for speech...
Comment 20 Joanmarie Diggs (IRC: joanie) 2008-02-06 18:19:05 UTC
Created attachment 104580 [details] [review]
lose the $l (proof of concept)

> onStateChanged(). There is still the concern of the "of N" being
> appended to the braille line after the "$l".

I'm not convinced this is a concern.  The "$l" is the end of line indicator for a text region (right??).  As such, I personally think it should stay as you have it as an indicator to the user that "the text ends here, and by the way, there's this 'of N' bit at the end." :-)

But if you want the $l gone... You can create a custom braillegenerator that creates a text region sans the EOL indicator.  Attached for demonstration purposes (because I think your current patch is correct. :-) )

Sounds like a question for Mike.
Comment 21 Rich Burridge 2008-02-06 18:22:12 UTC
> Sounds like a question for Mike.

Yes is does. Thanks Joanie.

Mike?
Comment 22 Mike Pedersen 2008-02-07 20:12:02 UTC
I'd prefer to leave the "$l" here for the reason Joanie states. 
Comment 23 Rich Burridge 2008-02-07 20:26:19 UTC
Thanks Mike. I've obsoleted Joanie's patch. Did my third revision:

http://bugzilla.gnome.org/attachment.cgi?id=104568

work for you?
Comment 24 Mike Pedersen 2008-02-07 20:31:06 UTC
seems fine.  thanks 
Comment 25 Willie Walker 2008-02-07 20:57:57 UTC
I think this looks fine.  The only oddity I notice is that the "of n" text disappears when I type in the text area.  I think this is acceptable if Mike thinks it is acceptable.

However, Perhaps we should open an RFE along the lines of the comments at the end of comment #17?  What do you guys think?
Comment 26 Mike Pedersen 2008-02-07 21:08:12 UTC
This is OK with me because once you start typing text it is pretty obvious what you are doing and the text field needs to expand on the display as you are typing any way.  
Comment 27 Rich Burridge 2008-02-07 21:19:51 UTC
Revision #3 of the patch committed. I'll leave it to Mike to answer
your question about the suggested RFE. Moving to "[pending]".
Comment 28 Mike Pedersen 2008-02-12 19:48:24 UTC
I think the RFE is a good idea. 
Comment 29 Rich Burridge 2008-02-12 20:19:17 UTC
Thanks for the verification Mike. Closing as FIXED. I'm going to leave
it to Will to open the RFE based on the last lines in comment #17 
because I'm not sure I fully understand it.
Comment 30 Willie Walker 2008-02-12 21:35:33 UTC
(In reply to comment #29)
> Thanks for the verification Mike. Closing as FIXED. I'm going to leave
> it to Will to open the RFE based on the last lines in comment #17 
> because I'm not sure I fully understand it.
> 

See bug 516120.