GNOME Bugzilla – Bug 616670
Add "move to heading on different level" command to Firefox/Webkit
Last modified: 2018-02-08 12:57:20 UTC
Sometimes I find myself navigating pages by headings, and there are a number on the same level before I reach the one I want. For instance, I may be viewing a blog article, and in order to reach the article which may have a heading level of 1, I have to skip through links to archives, blogrolls, etc. with heading levels of 2. Even so, I have no way to know that the article is at heading level 1, I'm just making an educated guess that the heading for a different section may be at a different level than the many through which I'm skipping. Even so, it might just as likely be at heading level 3, and having to guess levels can just as easily be wrong. As such, I'd like to request a "skip to heading at different level" command, perhaps bound to ` for forward moves and ~ for reverse. It can probably be worded differently as well. Here's my general idea for how it might work. If triggered when not on a heading, the command would move to the next or previous heading, just as with h/H. The logic there is that if you aren't on a heading then it's effectively a heading level of 0, so you're being brought to a heading at a different level than that. If triggered when on a heading, the command would store the current heading level, then move back/forward until it encountered the first heading at a different level.
I'm pretty sure that when I originally came up with the new, more generic structural navigation code I included some groundwork along those very lines. (Not implemented fully, but there for when someone asked for it for headings, lists and other hierarchical elements.) No promises, but I'll add it to my to-do list.
Nolan, one more thing: In terms of causing me to get to this faster.... If you could provide me with: 1 a simple test case -- I don't mean the wiki, I mean a very simple html document that you create from scratch that has multiple headings. 2. A very specific specification as to exactly what you believe should take place. i.e. "I press this key and I land here because foo. I don't land there because bar." I will prioritize it more. At the risk of sounding silly, your doing the above should minimize the amount of thinking I have to do on the problem. (Because I really do think I laid the aforementioned ground work and will recognize it all once I see it again.) And these days, given the choice of a hard problem that involves thinking and a simple one that does not, I usually go with the simple one.... <smile>
Hello. Sure, though it may be a while before I get to it. I, too, have a bunch on my plate at the moment, and my reason for typing this up was less "I want to create exact test cases and specifications" and more "I want to get this out of my brain while I'm thinking of it." That said, I respect your reasoning and will definitely get to this. Just, it may be a week or two or more, and not a few days. Thanks for telling me exactly what is needed on my end, however.
Changing the status to NEEDINFO for the request test case and specification.
(3.0 Planning Spam-o-rama. Sorry!)
Given everything else on the to-do list, non-critical Gecko-related bugs are going to have to wait until after 3.0, unless someone volunteers to do them.
Created attachment 173492 [details] Pre-coffee example of page with desired behaviors inline