0

I am making a website screen reader compatible which is develop on angular framework. Page is taking around 10 to 15 seconds to angular-bootstrap and load all content (using ajax).

When i run JAWS 17 on my SPA, Jaws is not able to read page(I think page is taking time to render html), Jaws read page as "Page has no links".

Please suggest any solution to make JAWS wait for web to load content or force JAWS to re-read page.

2 Answers2

0

you should first read wai-aria and verify if JAWS support it.

rck6982
  • 229
  • 2
  • 17
  • Thanks, Yes, jaws support wai-aria and i tested SPA by adding ARIA-LIVE attribute, its not working correctly. My understanding of ARIA-LIVE is these are used for a section that updated dynamically. My issue is in my case JAWS is not able to read any of content ( from header to navigation ) – user2435783 Jan 11 '16 at 15:34
  • Yes, we are using ngAria. ngAria is mainly for inner content when we perform any actions like click, show hide elements. As i told main issues is JAWs is not able to read any of page content when it loads on browser. Though JAWs is reading content ( links , button textbox , navigation etc) when we hit tabs and focus move on SPA. – user2435783 Jan 12 '16 at 05:27
0

To solve the issue I developed a workaround that was working effectively. Below is details of resolution.

Create a webpage (or action method in MVC application) that have loading time equal to portal (angular application) loading time +1 or 2 sec.

Reference this page in iframe, this iframe will resides in portal under any html tag.

Create a directive(angular) having capability to remove inner html of itself and apply this directive to HTML tag that have iframe inside.

How this will work JAWs is not able to know when angular loads portal content asynchronously so it starts reading its buffer, and buffer don’t have portal content due to heavy use of directive and dynamic HTML.

Adding iframe will hold JAWs to read buffer because it will continuously loading (reference page). When all content loads on browser, directive will execute in last and remove that iframe and JAWs start reading buffer(Portal content). That have enough data of portal to read.