[nvda-addons] Re: Website specific nvda script?

  • From: shaun everiss <sm.everiss@xxxxxxxxx>
  • To: nvda-addons@xxxxxxxxxxxxx
  • Date: Tue, 07 Oct 2014 20:44:04 +1300

I have never heard of sites doing that.
and a refreshing site refreshing all the time will cause nvda or whatever to reread the site from the beginning.

I have seen sites like the nasa station site have updating content that changes every few seconds and its impossible to read. I am not sure if its possible to interact directly with a website or any part of a system even if you have a honest reason to do so. Security wise, I am not sure if it can be done, malwre people do this where a script can load something else, etc so it can be done, but I don't know.

At 06:55 a.m. 7/10/2014, you wrote:
Hi all,

I'm working on a project for my job at my college, and I was wondering if something already exists for this or if it is something I will need to code manually.

We have some very poorly designed websites that, while basically accessible, are a serious challenge for the user to navigate. Additionally, some of these websites have information that update in real time, and the user needs to become aware of these changes, but may not need to hear all of the information. They also may not need to be aware of all changes, but only some.

The user experience for this scenario would be that on a webpage that has dynamically updating content (via JavaScript or Ajax) that user would be able to press a keystroke to hear a certain object read aloud. For A very loose example, suppose that you had a clock on a webpage that updated in real-time. The user could press a keystroke to have the clock read out loud. Let's also say that every time the hour changes the user needs to know (but not when the minute changes), so NVDA would constantly monitor the clock and when it saw a change in the hour it would do something, for example, play a sound. Let's assume that the clock is simply text and that NVDA has to use python to perform some text processing to determine when this change occurs. That would allow the user to then press the keystroke to hear the clock read out loud.

It is possible for me to locate the object in question using the DOM or by simply using NVDA's object navigation capability.

Simply reading the object may be insufficient. NVDA may, for instance, perform some manipulation of the text before reading it aloud. Using our Clock example, NVDA would have to take "4:00p" and then it into "4 o'clock PM."

Or, perhaps NVDA takes some action on the user's behalf when the keystroke is pressed. Again, a very loose example would be pressing a specific button on a webpage. Well designed websites may create hotkeys, but as we know not all websites do.

The basic idea is that I want to be able to interact with the webpage – read its contents and interact with it controls ­ from an NVDA sscript within an addon. I also want the script to only work on certain pages, because obviously the DOM will be different per page and therefore many of the Scripts commands will not work On other pages. This gives me access to the powerful python environment for things such as string processing.

The question therefore is twofold:

1. Can NVDA access a webpage DOM from within an add on? Also, can NVDA directly interact with the webpage on the users behalf? This might mean clicking buttons or links, entering data into fields, or even performing mouse over gestures.

2. Is it possible to create an addon that only applies to a specific website or webpage?

The second task I could see being feasible even if not inherently supported by simply writing a browser add-on that could examine the URL and look for Scripts in a directory that match it in someway. This I would be able to do as I have already done a lot of work with plugin based apps in python. I was more wondering if something has already been designed for this.

In an ideal world, all websites would be easy to navigate and easily accessible. In the real world, however, challenges such as these create situations were using a website is so challenging and frustrating that it discourages the users. If there are other alternatives that did not involve asking the webmaster to change the site, I would also entertain ideas there.

I'm also not worrying about the fact that websites change. If that happens, it is understood that scripts will need to be updated to reflect this. Similarly to how if an application is updated scripts must also be changed.

Note that The examples I gave are not the real project, but were merely for illustrative purposes. (Therefore, (This isn't meant to be rude,) no "this is how to do an hourly chime on the clock in Nvda" replies please. :-) )

Any advice about this situation would be greatly appreciated!

Thanks!

Flint

Sent from my iPhone----------------------------------------------------------------

NVDA add-ons Central: A list for discussing NVDA add-ons

To post a message, send an email to nvda-addons@xxxxxxxxxxxxx.

To unsubscribe, send an email with the subject line of "unsubscribe" (without quotes) to nvda-addons-request@xxxxxxxxxxxxx.

If you have questions for list moderators, please send a message to nvda-addons-moderators@xxxxxxxxxxxxx.

Community addons can be found here: http://addons.nvda-project.org


----------------------------------------------------------------

NVDA add-ons Central: A list for discussing NVDA add-ons

To post a message, send an email to nvda-addons@xxxxxxxxxxxxx.

To unsubscribe, send an email with the subject line of "unsubscribe" (without 
quotes) to nvda-addons-request@xxxxxxxxxxxxx.

If you have questions for list moderators, please send a message to 
nvda-addons-moderators@xxxxxxxxxxxxx.

Community addons can be found here: http://addons.nvda-project.org

Other related posts: