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 416971 - [pending] Orca does not speak or braille numbers/bullets of list items in Firefox
[pending] Orca does not speak or braille numbers/bullets of list items in Fir...
Status: RESOLVED FIXED
Product: orca
Classification: Applications
Component: general
2.17.x
Other All
: Normal normal
: 2.20.0
Assigned To: Orca Maintainers
Orca Maintainers
Depends on:
Blocks: 404403
 
 
Reported: 2007-03-11 01:58 UTC by Joanmarie Diggs (IRC: joanie)
Modified: 2008-07-22 19:26 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
ugly hack .... but it seems to work (2.85 KB, patch)
2007-03-31 03:31 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review
add bullets and other symbols, some refactoring (25.06 KB, patch)
2007-04-23 14:34 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review
don't echo bullets in password entries if keyecho by char is not enabled (795 bytes, patch)
2007-04-23 15:41 UTC, Joanmarie Diggs (IRC: joanie)
none Details | Review
don't echo bullets in password entries if keyecho by char is not enabled AND say "star" when it is (995 bytes, patch)
2007-04-23 16:11 UTC, Joanmarie Diggs (IRC: joanie)
committed Details | Review

Description Joanmarie Diggs (IRC: joanie) 2007-03-11 01:58:42 UTC
When you navigate by line to a list item in Firefox, Orca speaks/brailles the list item text that is on the line but does not speak/braille the number or the bullet.  

It turns out that the characters that make up the number/bullet have extents of (0, 0, 0, 0).  In getLineContentsAtOffset() we explicitly check for those extents to eliminate speaking/brailling whitespace characters that are not present in the page but happen to be present in the HTML source.

Trying to distinguish between invalid versus valid characters with extents of (0, 0, 0, 0) seems a bit hacky.  For instance, is the whitespace character in question merely in the HTML source, or is it the space in between the list item number and the list item text?  Life would be much better if list item numbers/bullets had actual (non-zero) extents.

Will, do you think the non-zero extents of the numbers/bullets is a bug in Firefox, or is intentional and thus something we have to hack around in gecko.py?
Comment 1 Willie Walker 2007-03-11 21:00:30 UTC
Definitely a bug in firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=360003

:-(
Comment 2 Willie Walker 2007-03-27 21:30:06 UTC
(In reply to comment #1)
> Definitely a bug in firefox:
> https://bugzilla.mozilla.org/show_bug.cgi?id=360003
> 
> :-(

But, from Aaron: "This is hard to fix so a workaround should be used for now."

So...we need to put our thinking caps on.
Comment 3 Joanmarie Diggs (IRC: joanie) 2007-03-31 03:31:32 UTC
Created attachment 85604 [details] [review]
ugly hack .... but it seems to work

> So...we need to put our thinking caps on.

I put mine on.  Then I gave up, took it off, and came up with the attached.  Yes it is ugly, but it seems to work.  Tested with Up/Down, I/Shift I, and L/Shift L.

Thoughts? More effective caps/less ugly solutions?
Comment 4 Willie Walker 2007-04-02 14:47:48 UTC
Hey!  You did it.  I say check it in.  Thanks!
Comment 5 Joanmarie Diggs (IRC: joanie) 2007-04-02 15:09:29 UTC
Done.  Thank YOU.

What still remains to be done on this is getting bullets to speak.  Does that mean adding them to chnames.py or something else?
Comment 6 Willie Walker 2007-04-02 15:40:58 UTC
Eeeks.  Oh yeah.  Speaking the bullets.  Yech.  This probably should be done via chnames as you suggest.  I'm not sure on the specifics of all the Unicode symbols available, but these might be starters:

Unicode - UTF-8 - string
u'\u2022' - '\xe2\x80\xa2' - bullet
u'\u25e6' - '\xe2\x97\xa6' - white bullet
u'\u00b7' - '\xb7' - middle dot

For moving forward, chnames.py probably should use unicode strings for the keys in __chnames (it's currently using UTF-8), and it would be ideal to try to find something that already provides localized names for the Unicode characters.
Comment 7 Willie Walker 2007-04-20 18:29:00 UTC
(In reply to comment #6)
> Eeeks.  Oh yeah.  Speaking the bullets.  Yech.  This probably should be done
> via chnames as you suggest.  I'm not sure on the specifics of all the Unicode
> symbols available, but these might be starters:
> 
> Unicode - UTF-8 - string
> u'\u2022' - '\xe2\x80\xa2' - bullet
> u'\u25e6' - '\xe2\x97\xa6' - white bullet
> u'\u00b7' - '\xb7' - middle dot
> 
> For moving forward, chnames.py probably should use unicode strings for the keys
> in __chnames (it's currently using UTF-8), and it would be ideal to try to find
> something that already provides localized names for the Unicode characters.
> 

I'm closing bug 418147 with the intent that the patch for this bug will include at least the ñ from niño.  :-)  No need to go crazy with all characters, though.
Comment 8 Joanmarie Diggs (IRC: joanie) 2007-04-23 14:34:41 UTC
Created attachment 86846 [details] [review]
add bullets and other symbols, some refactoring

This patch adds bullets and a number of other symbols to chnames.py and punctuation_settings.py.   This will get bullets speaking both in Firefox and elsewhere (e.g. OOo Writer documents).  Note that in the former case, all bullets are exposed to us as the generic bullet character regardless of their appearance.  But at least we can speak their presence now....

In addition, these two files now use unicode characters for their dictionary keys which should make it easier for users to add/edit their own dictionaries.
Comment 9 Joanmarie Diggs (IRC: joanie) 2007-04-23 15:41:04 UTC
Created attachment 86854 [details] [review]
don't echo bullets in password entries if keyecho by char is not enabled

Hermann pointed out a side effect of adding bullets:  We now say "black circle" in all password entries regardless of the keyecho setting.  In default.py's onTextInserted() we are specifically choosing to do this.  This patch takes keyecho into account before doing it.  Thoughts?

Also, Hermann observed that "black circle" is rather verbose.  I think we want to keep descriptive bullet names because if you are formatting a document that you will be sharing with others, it's important to know what the thing looks like (e.g. that you're bullets are consistent).  This, of course, does not apply to password entries. :-)  Do we want special handling for password entries to just say "bullet" or "star" or something shorter??
Comment 10 Joanmarie Diggs (IRC: joanie) 2007-04-23 16:11:17 UTC
Created attachment 86856 [details] [review]
don't echo bullets in password entries if keyecho by char is not enabled AND say "star" when it is

I still think that we shouldn't be echoing in this field if keyecho by char is not enabled.  This version says "star" instead of "black circle" when keyecho by char IS enabled.
Comment 11 Joanmarie Diggs (IRC: joanie) 2007-04-23 16:48:20 UTC
As per Will, I opened a new bug for this latter issue:  bug #432674
Comment 12 Joanmarie Diggs (IRC: joanie) 2007-05-01 20:16:13 UTC
Closing as FIXED.