Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firefox and IE (but not Chrome) "remember" last tab order even after hard refresh, but only with NVDA running. #4386

Closed
nvaccessAuto opened this issue Aug 13, 2014 · 13 comments

Comments

@nvaccessAuto
Copy link

Reported by digitaltoast on 2014-08-13 12:33
I'm trying to test my page for accessibility and after a LONG night of extensive testing and head meeting desk, I can safely say the following is happening on a Win 8.1 machine in IE and Firefox:

Open a page, tab to a certain link, refresh the page, tab again and it seems that something about NVDA is interfering with the tab order. I THINK this guy is having the same issues: http://stackoverflow.com/questions/22517242/how-to-prevent-nvda-setting-focus-automatically-on-last-used-html-element but other users weren't "getting" it, so no answer came.

I've even found some workarounds involving re-focussing to the top of the page via javascript and document ready, and if I set up some CSS to highlight current elements, I can see my page top element being focussed on, and then after a split second, the damn focus is back on the same element before I refreshed the page.

If I turn NVDA off, this strange behaviour doesn't occur.

There's always a possibility there's some bizarre NVDA setting I've accidentally switched on, but I can't find it to switch it off.

@nvaccessAuto
Copy link
Author

Comment 1 by jteh on 2014-08-13 12:53
Yes, NVDA remembers the user's last position on the page. We do this so that going back or forward will position the user where they were previously, just as this would occur visually. Unfortunately, browsers don't/can't tell us where they scrolled to in this case, so we have to mimic this behaviour.

@nvaccessAuto
Copy link
Author

Comment 2 by digitaltoast on 2014-08-13 13:19
Thanks for your quick reply.
Ughhh.. so basically the instructions to "refresh your page if you get stuck or lost" won't work with NVDA, and that's ''by design''?

OK, I can't gripe because it's the only problem I've ever had with NVDA and I'm not VI, just testing, so I guess this came about because of a valid use case.

However, right after I posted, I did think of something, and this seems to work successfully (needs jQuery but that's already there - obviously needs an element with the id of "toplink" too!

$(document).ready(function() {
        function resetTab(){
            document.getElementById('toplink').focus();
        }
        window.setTimeout(resetTab, 250);
    });

This restores normal page behaviour. (Might go and see if I can rack up a point or two on Stackoverflow with that!)

@nvaccessAuto
Copy link
Author

Comment 3 by jteh (in reply to comment 2) on 2014-08-13 15:47
Replying to digitaltoast:

Ughhh.. so basically the instructions to "refresh your page if you get stuck or lost" won't work with NVDA, and that's ''by design''?

Well, it's not by design exactly. It's a side effect of another feature which is very important to our users; i.e. the ability to remember the position on the page when the browser back or forward button is pressed. Unfortunately, we don't have any way to reliably differentiate these cases.

@nvaccessAuto
Copy link
Author

Comment 4 by jteh on 2014-08-13 15:58
I was just informed that Firefox fires a specific event (technical: IA2_EVENT_DOCUMENT_RELOAD on the old document) when a document is refreshed, so we might be able to fix this particular case for Firefox (but probably not IE).

@nvaccessAuto
Copy link
Author

Comment 5 by digitaltoast on 2014-08-13 16:01
OK. Thanks, sounds hopeful! I'll leave you to decide what to do with this ticket, but I do just want to apologise for being grumpy earlier. I know a lot of work goes into NVDA, and as I said, it was a late night trying to figure this out, and with a fresh head on, I could have probably figured out that javascript workaround a lot earlier!

Anyway, again, thanks for explaining it, and it would be great to see a "refresh condition" workaround too sometime in the future.

@nvaccessAuto
Copy link
Author

Comment 6 by jteh on 2014-08-13 16:14
I didn't take anything you said as grumpy. This is a totally valid bug. It's just not easy to fix for every condition without breaking important use cases.

@ehollig
Copy link
Collaborator

ehollig commented Dec 7, 2017

Can someone clerify what exactly is the bug or issue discussed here? It sounds like, from #4386 (comment) that the original poster got his questions answered. CC @jcsteh

@derekriemer derekriemer self-assigned this Dec 9, 2017
@derekriemer
Copy link
Collaborator

I'll work on the mozilla case if I get time.

@rileyL6122428
Copy link

rileyL6122428 commented Dec 15, 2017

I believe my team is facing the same issue. Turning off NVDA restores the correct behavior in Firefox. Is there a way to toggle off the feature causing this bug while NVDA is running in order to confirm?

@Adriani90
Copy link
Collaborator

is this maybe because browse mode is enabled and Focus moves if automatic reading of Webpage is enabled? @rileyL6122428, @digitaltoast if you disable automatically read the web page after the page is loaded in NVDA Settings under browse mode, is then the issue still reproducible?

@Adriani90
Copy link
Collaborator

cc: @jcsteh, @MarcoZehe

@Adriani90
Copy link
Collaborator

cc: @LeonarddeR

@Adriani90
Copy link
Collaborator

Closing this one as duplicate and in favor of #3575.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants