GNOME Bugzilla – Bug 535188
Page-up and page-down not functioning when reading messages in Thunderbird
Last modified: 2008-09-11 18:24:30 UTC
Please describe the problem: When reading email messages that are longer than one window full of text, you cannot use page-up or page-down to quickly navigate to distant parts of the message. Steps to reproduce: 1. In Thunderbird, open a long email message. 2. Press page-down, then check your location within the text. 3. Go to the end of the message using control-end. 4. press page-up, then check your position in the document. Actual results: Pressing page-down does not move the carat down through the document. Pressing page-up does not move the carat upwards through the document. Expected results: After pressing page-down, the carat would move down through the message by the amount that could be shown within the document window. Pressing page-up would move the carat backwards through the document, moving the carat upwards by the amount of text that can fit within the window. Does this happen every time? Yes. Other information:
David, I just tried this in both some HTML and plain text messages. With the HTML message, focus initially did not seem to be in the body of the message, but when I pressed Control+Home and then used Page+Up and Page+Down it worked as expected. The plain text message also worked as expected. Does pressing Control+Home first make any difference for you? Thanks!
I'll have to let you know tomorrow. At the moment, I'm very puzzled. I've been cleaning out my email box tonight, but somehow Outlook Express decided to purge all of the deleted messages for me. The only long message I have left is a Delta e-ticket, and Thunderbird won't read anything in it at all. I'll get some messages overnight that are long enough for testing... and my brain might be functioning better in the morning, too. ;-)
Created attachment 111668 [details] Test case Thunderbird email message from New York Times containing html document
I updated my Minefield and Thunderbird to the latest nightly builds, and updated Orca trunk to rev 3930. I am still seeing the problem with messages containing html. I have attached an example email message that I received from the New York Times this morning. (Note: I checked on an rss feed that I am getting through Thunderbird, and page up and page down are working correctly in those html-based messages.) Page up and page down are working correctly in plain text messages. In the example message, when I open it, I hear the message subject/window title spoken, then the first line is spoken, then the carat is placed on the first line. If I press page-down, nothing occurs. If I arrow down one line, then back onto the first line and then press page-down, the first line is spoken again but the carat does not move down the page. If I it control-home at this point,nothing is spoken and the page-down behavior doesn't change, although the first line is no longer repeated when pressing page-down. It will only repeat that line if you have moved off that line and moved back.. If, after opening the message, I hit page-down followed by control-home, or just hit control-home, the word "link" is spoken, but there is no change in page-down behavior--it does not work. Pressing control-end gets me to the bottom of the document, but page up has no functionality. If I move from the top of the document down into the message, Orca gets stuck when only using the down arrow key (another bug I'll file sometime in the future ;-). Using the control-right-arrow allows me to move along the line and down to lower lines in the message. However, if I hit page-down, the carat returns to the top of the document. One final note: I've crashed Thunderbird three or four times this morning when trying to open messages containing html content. I've forwarded the crash reports to Mozilla. This has only happened since updating to the latest nightly build. Let me know if you would like a debug.out or the Orca error stream. Thanks!
Note to self so I don't forget it: I wonder if the reason I'm not seeing this problem and Dave is is because he's landing in a blockquote and the default script is kicking in because we're not overriding Page Up/Page Down.
Created attachment 118397 [details] Lengthier test case The NY Times example is sufficiently short that half of the time Page Up/Page Down do nothing (and hence we do the same). :-) Here's another test case. I was able to reliably reproduce the problem using it and from there, better understand the Times example. I have a patch that seems to nicely address both, but some of the changes are in the Gecko script, so I want to regression test it first.
Created attachment 118409 [details] [review] revision 1 There are several issues with Dave's test case: 1. Page Up and Page Down apparently cannot escape tables. What I mean by this is the following: Without Orca running, and without accessibility even enabled, pressing Page Down causes me to scroll down a bit. Eventually I approach the bottom of the table which contains a significant portion of the message content. Then Page Down ceases to work. The scroll bar bounces a bit, but I don't move. I cannot reach the bottom of the message as expected. If at that point I press Page Up, it works approximately two times at which point I get the same bouncing-but-not-scrolling behavior. I can't use Page Up to get to the top. Edit the source of the message to remove all the table-related tags and the problem goes away. For this issue I opened a bug against Thunderbird: https://bugzilla.mozilla.org/show_bug.cgi?id=454525 I am not blocking this bug against it. Blocking bugs are those which prevent us from providing access to what's taking place on screen. Nothing is blocking us from doing that -- there's just not much taking place on the screen with Dave's test case, which brings me to: 2. Under the above conditions, one of the two things you bounce to is an image. The other being a blank line. The image is the only thing on the line; there is no alternative text. When asked to present a line with a functionally useless image (no text, it's not a link, etc.) we chose not to present it. As a result, in this case the behavior is to be silent which sounds like Page Up/Page Down aren't working. I changed the Gecko script so that it only discards useless images when they are not the sole thing on the line. Now we'll say "image". 3. We were ignoring some caret moved events or not getting them quite right when Page_Up and Page_Down was used: a. We concluded we were using our caret navigation and that, therefore, the event was already being handled. b. The locusOfFocus was not the same as the event source c. We thought the caret context was something/somewhere else. This patch addresses those issues, passes the regression tests, and has been pylinted. Please test. Note that the changes to the Gecko script are quite minimal, so while testing there is good and desirable, the focus for this patch is Thunderbird. All things caret-moved related. :-) Speaking of which, this patch introduces a new onCaretMoved() event to the Thunderbird script. So does another recent Thunderbird patch I attached. Do not try to combine these two as the patching will fail. Finally, in retrospect, my lengthier test case is not ideal. What I did to quickly get a *bunch* of html content in a message was to copy some content from a Mozilla page and paste it. Several times. <smile> As a result, as you page down there's a good chance that you'll hear the same content again. We are not looping/getting stuck, I assure you. We're just finding copy two, copy three, etc. My bad. Thank you. That is all. <grin>
works great thanks
Thanks Mike. Patch committed to trunk. Closing as FIXED. Dave, I know your NY Times example is still not ideal. I encourage you to add yourself to the CC list of the Mozilla bug I filed should you be interested in tracking its progress. (https://bugzilla.mozilla.org/show_bug.cgi?id=454525)