3

I'm doing some JAWS accessibility testing in an Angular app and have come across an interesting problem.

JAWS sees navigational menu links to the other views as a link to the same page, and so says "same page link" before announcing the link name.

However, for the user (whether sighted or not), these links appear to not be the same page since a new view appears for them.

For example:

<a href="#">Home</a>
<a href="#/Transactions">Transactions</a>

When JAWS reads this, it says "Same page link: Home, same page link Transactions", but Transactions is actually a completely different view.

Is there any way that I can adjust my code to make JAWS think that this isn't a same page link?

bhammie85
  • 153
  • 2
  • 12

2 Answers2

2

I don't think this is a problem in practice, so long as you manage the keyboard focus.

The key thing that should happen when you select a link: is that you go somewhere.

If the user selects the transactions link, do you move the keyboard focus to the top of the new view? Keyboard focus is a key aspect for accessibility with frameworks like Angular.

Community
  • 1
  • 1
AlastairC
  • 3,277
  • 21
  • 15
  • That's a great point. The link does "go somewhere" but the focus stays on the link (since the navigation is outside of the view that is changing). I'll make sure we update that moving forward. – bhammie85 Aug 22 '14 at 12:05
1

I'm guessing you should enable html5 mode since hashes aren't considered a different page.

Here's an answer on how to do that: $location / switching between html5 and hashbang mode / link rewriting

Community
  • 1
  • 1
Mike Robinson
  • 24,971
  • 8
  • 61
  • 83
  • I believe we're using the ngRoute module (I'm the UX person on the team so I'm not 100% sure) but I'll let the people who do the routing know and see if we can fix it. Thanks for the quick response! – bhammie85 Aug 19 '14 at 23:14
  • Note that enabling hashbang mode does not solve this problem. the Wave accessibility checker still flags links with `#!/somepath` with Alert: "broken same-page link". :( still looking for a solution myself. – JamesWilson Mar 27 '19 at 15:02