GNOME Bugzilla – Bug 423395
[a11y] When first opening or tabbing to message content, place the caret at the beginning of the message
Last modified: 2013-09-13 01:00:47 UTC
Caret navigation is great to have for people with physical and visual impairments. Thank you for supporting it! Right now, moving the caret to the message content can require a number of keystrokes: you're first placed at the message header information (to:/from:/subject:, etc.), and then you need to tab and arrow to the message content. This is very cumbersome for people with physical impairments, and blind people already have a good idea of the header information because they typically have just come from the message summary. As a result, we (the Orca team) have had a number of users request a means to reduce the effort needed to move the caret to the beginning of the message content. Ideally, when a user opens a message or tabs to the message frame, Evolution would put the initial focus/caret at the beginning of the message content (e.g., the beginning of the "Hello Willie:" line) rather than at the beginning of the header information. Being able to Shift+Tab back to the headers would still work should a user need to go back to review them.
caret mode is extremely broken and there are several bug reports about it. it is not really usable with html email currently.
The main request of this RFE is to just make the initial caret position be the beginning of the message content rather than the message header information. It would help prevent a lot of unnecessary keystrokes. Is this something that could be done in Evolution?
(In reply to comment #2) > The main request of this RFE is to just make the initial caret position be the > beginning of the message content rather than the message header information. > It would help prevent a lot of unnecessary keystrokes. Is this something that > could be done in Evolution? > Hey Andre - nice running into you at GUADEC last week. :-) What do you think of the enhancement request being proposed here (just positioning the caret at the beginning of the message content when the message is opened)? Is it something that is relatively trivial to pull off?
good question, if i only was a coder then i could tell... :-)
Looks like one need to either extend GtkHtml API or do some workaround, like putting a "tag" into message body (in it's (pre)view) and the GtkHtml component will place the cursor after this "tag" when it will be firstly focused, and will not go through clickable mail addresses in header's part (I think, this do the TAB key in message preview, goes through all clickables, not through text itself). What do you think, devs? (CC'ing srag too)
(In reply to comment #5) > Looks like one need to either extend GtkHtml API or do some workaround, like > putting a "tag" into message body (in it's (pre)view) and the GtkHtml component > will place the cursor after this "tag" when it will be firstly focused, and > will not go through clickable mail addresses in header's part (I think, this do > the TAB key in message preview, goes through all clickables, not through text > itself). > What do you think, devs? (CC'ing srag too) > I'm curious what the devs think, too. :-)
Milan go ahead. I really don't have much idea there. You can extend the API for sure, but not break it :)
Bumping version to a stable release.
I have come here from Bug 422487 – [blocked] Ability to jump to the start of the message in Evolution . When navigating eyes-free within evolution, I would expect the F6 keystroke to take me from the message pane (or list) to the body of the mail in the preview pane. As others, I find that this keystroke typically lands part-way through the 'headers' and several (an arbitrary number) of 'down-arrow' keystrokes takes me to "table braid" and then two or three 'right-arrow' keystrokes do take me to the start of the body. Is the best resolution of this problem likely to be within Evolution or Orca? One possibility would be to turn off the display of the headers (and remove the surrounding table) altogether. Is there any proposed patch to test? (Ubuntu Heron Beta). I am not fully familiar with other programs such as Thunderbird, but it is possible that a single keystroke, ENTER, does exactly what I am looking for. Would be happy to work on this or test any patch.
There is no patch for this yet (as far as I know), you are welcome to provide one. Just one thought, turn off headers is probably not the best thing, because mails can contain inlined mail attachments (just a thought). Maybe some kind of special annotation in the mail body to guide GtkHTML where to place cursor first can help. Definitely the improvement would be in GtkHTML and/or Evolution code.
Created attachment 112899 [details] [review] proposed gtkhtml patch for gtkhtml; Extending API finally.
Created attachment 112900 [details] [review] proposed evo patch for evolution; The change was required to be done in both, so here we go. This places cursor just before the message start, so if the message starts like this: Hi ... then the cursor will be placed just before the "Hi", but if it starts with Hi ... then it will be places before the spaces. In both cases at the beginning of the line. I hope that's not so big issue as going through all the headers and so on. When you hit TAB, then it will jump to first selectable object, or next, in case other was selected already. Can it surprise someone?
Please remember to bump the minimum GtkHtml version in Evo's configure.in. m4_define([libgtkhtml_minimum_version], [3.23.5])
Milan, you definitely made my day! Thanks so much!!!
Commit to trunk.
gtkhtml part committed to trunk. Committed revision 8871. evo part committed to trunk. Committed revision 35650. Evo part contains also a change described in comment #13.
Thanks for doing this work! We started testing this (sorry it took so long -- we had troubles building and decided to wait for a version of Ubuntu that had very recent GNOME bits). I'm not sure how to make it work. When I read a message with Evolution 2.23.90, the caret still ends up prior to the headers rather than at the beginning of the message content. What do I need to do to take advantage of this new feature?
It should be enough to turn on caret mode and then go to the preview pane say by TAB of F6 key (definitely not by mouse). I tried with plain text and html mail and it works fine for both cases. If you've some test message where it doesn't work, please attach it here and reopen the bug, I'll try to fix it as soon as possible. Thanks.
Ah! Thanks much. Yep - I can see the new behavior when tabbing from the message list to the message content. Neat, and thanks! Another very typical way blind users read e-mail, however, is to open a message by pressing "Return" on a message when in the message summary list. This opens a new window with the message. I believe users would really like the caret to be placed at the beginning of the message content there as well. Is this possible?
When having Caret mode enabled and reading plaintext mail that includes URL, clicking on a URL makes the mail display jump to the top again. Is that a side effect?
(In reply to comment #19) > .... Is this possible? I can look, hopefully it is. It should work in a way first time you focus the gtkhtml widget the caret is placed to the marker at the beginning. (In reply to comment #20) > ...Is that a side effect? Maybe.
(In reply to comment #20) > When having Caret mode enabled and reading plaintext mail that includes URL, > clicking on a URL makes the mail display jump to the top again. Is that a side > effect? I tested this and no, this is not caused by this patch, it just tries to show cursor in the view after the click of the URL, the cursor position is not changed, so if you move somewhere else then the view is moved to that position. Feel free to add new bug, it doesn't seem complicated to fix, but doesn't belong to this one. :)
Oh, I'm sorry, reopening, it doesn't work for message windows as Willie wrote in comment #19.
Created attachment 117193 [details] [review] proposed gtkhtml patch for gtkhtml; This patch extends the behavior with placing cursor to the right position even when opening in the new window. One thing: it works fine unless you are changing messages with Prev/Next arrows or Ctrl+PageUp/PageDown, in that case the cursor is placed same as before. I think it's fine, one will probably need to read headers before message content in this case, but I can be wrong. What do you think Willie?
This will be a really big improvement. thanks much for the change.
Willie, can you test and reply? Thanks.
Eeeks! Sorry about that. I saw Mike's response (he's a member of the Orca team) and misread it as having been tested. I'll try to give this a shot very soon, but I've always had difficulty building all of the Evolution and usually just wait for Ubuntu to come out with binary updates based upon GNOME development tarballs. :-)
Yeah - I looked at the patch again and realized it was for just gtkhtml. Phew. That was easy. The patch works great and the Ctrl+Page_Up/Down behavior is fine as well. Thanks much!
Hi Willie, thanks for testing it. When talking about a11y and gtkhtml, can I make a session with Li or with you about bug #516680 ? I'm quite confused with that and would like to have some assistance when trying to see whether my changes work or not. I'll try to join you on IRC tomorrow, which is around 12 hours forward for me :) Do you think it'll be possible?
(In reply to comment #29) > Hi Willie, thanks for testing it. When talking about a11y and gtkhtml, can I > make a session with Li or with you about bug #516680 ? You bet -- I'll try to hang out on #a11y 8:30-6PM EDT tomorrow. Li is in Beijing, so you might actually be in a better time zone to talk with him (and he's better at GAIL/ATK internals than I am).
Sure, I am in IRC now. And you can add comments on that bug.
Guys, are you committing it by tomorrow. Or else we would be missing this for 2.24.x. Hard code freeze starts by end of tomorrow
Committed to trunk. Committed revision 8993.