Date   
Is there a try build of the fix for crashing windows Explorer?

Brian's Mail list account
 

If so I'd like to test it on a machine I'm looking after which suffers from this when used with mouse in windows7 home premium.
Is it python 2 or 3?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

Formatting information script

Andy B.
 

Hi,

 

I am developing an add-on that requests the formatting information of the currently focused item. Right now, NVDA requests a textInfos object from the current review position. However, my add-on sets focus on objects that has a focusable flag set to False. HTML5 div and section elements are good examples. They cannot gain focus, but I force NVDA to set focus to those elements anyways. A strange problem is that objects that NVDA cannot naturally navigate to does not have a review position. This means my add-on must implement its own formatting retrieval system, defeating the entire purpose of reusable code. If NVDA is going to implement a setFocusObject method, then it should allow users to tell NVDA what object to get formatting information from… If one is not provided, use the current review position. Until something is done, my add-on is stuck because I do not see the point in rewriting what is already provided in NVDA core.

 

 

 

 

 

Sent from Mail for Windows 10

 

Re: Excel: Three Small Fixes

Luke Davis
 

On Fri, 16 Aug 2019, Jim Homme wrote:

Would this be something too small for an add-on? I’m wishing for three things to happen in Excel and thinking of attempting to change them. I’m unsure if I
can do this based on my Python knowledge, but I’m annoyed enough to try.
To answer your original question: personally, I don't know why those things shouldn't be done in an add-on.

Thing one, the order of header vs. cell contents, should hopefully make it into core at some point. But that may not happen quickly enough if you just set out to make it a PR against core.

After you've addressed your particular troublesome issues, you might also consider, for some future version of your add-on, addressing one of the other Excel annoyances out there: switching worksheets, and viewing the worksheet list, via F6. This can only be done currently via NVDA+F7, alt+f, arrow to sheets, tab to the list. However a single press of F6, is the intended (by Microsoft) keyboard shortcut for accessing that list.

See a discussion about it here: https://nvda.groups.io/g/nvda/topic/moving_between_worksheets_in/31955276?p=,,,20,0,0,0::recentpostdate/sticky,,,20,2,0,31955276

Luke

Re: Excel: Three Small Fixes

Luke Davis
 

On Fri, 16 Aug 2019, Luke Davis wrote:

In Excel? even with row and column header announcements turned on, the row/column headers aren't spoken at all. It isn't even clear how NVDA would know what the column and row headers are.
I take that back, I see how it is done.

Re: Excel: Three Small Fixes

Luke Davis
 

On Sat, 17 Aug 2019, James Scholes wrote:

On 16/08/2019 at 10:03 pm, Ralf Kefferpuetz wrote:
Your first ask is a long going thread on github, I prefer an option to give us the option what is spoken first, the cell coordinates or the cell content.
This isn't what the original poster is asking for. They want to change the order in which column/row headers are spoken, relative to the overall speaking of the cell itself.
Interesting. I read that the OP said row and column headers too, but in my mind immediately translated that to cell coordinates and continued reading on that basis. In other words, I understood it the same as Ralf did.

Given your more precise reading, that raises a question.

In Excel? even with row and column header announcements turned on, the row/column headers aren't spoken at all. It isn't even clear how NVDA would know what the column and row headers are.
In fact I can't figure out a way to make it speak headers even if I try.

It does, however, speak cell coordinates.

This is why my original understanding of the message went to coordinates out of the box.

So, how exactly does one get NVDA to announce column and row headers in Excel in the first place, so I can then decide whether I like them spoken first or last?

Luke

Re: Excel: Three Small Fixes

Bill Dengler
 

As for your second and third requests, they should be possible:
2. Figure out how to identify the control and create a CUSTOM NVDA class. Set the description property to the empty string.
3. Bind f8 to a custom script in VBA editor.

Bill

On 16 Aug 2019, at 14:45, Jim Homme <jhomme@...> wrote:

Hi,
Would this be something too small for an add-on? I’m wishing for three things to happen in Excel and thinking of attempting to change them. I’m unsure if I can do this based on my Python knowledge, but I’m annoyed enough to try.
 
First: In Excel, if I move, I want NVDA to say column headers and row headers first, not last.
Second, if I choose something in an in-cell dropdown, the description property and the name property in the log always has the exact same information. Even though I consider this a Microsoft issue, I still wish it only spoke once. I want to make NVDA ignore the description, but do not want to turn that setting off. I created a profile that does this to get around the problem.
Third, in the VBA editor, F8 steps through code and moves the cursor to the next line. I would like NVDA to figure out that I am in the VBA editor and say the line after I press F8.
 
 
Thanks.
 
 
Jim
 
 
 
==========
Jim Homme
Digital Accessibility 
Bender Consulting Services
412-787-8567
 

Re: Excel: Three Small Fixes

James Scholes
 

On 16/08/2019 at 10:03 pm, Ralf Kefferpuetz wrote:
Your first ask is a long going thread on github, I prefer an option to give us the option what is spoken first, the cell coordinates or the cell content.
This isn't what the original poster is asking for. They want to change the order in which column/row headers are spoken, relative to the overall speaking of the cell itself.

Regards,

James Scholes

On 16/08/2019 at 10:03 pm, Ralf Kefferpuetz wrote:
Your first ask is a long going thread on github, I prefer an option to give us the option what is spoken first, the cell coordinates or the cell content. My personal optinion is that the cell coordinates should be spoken before the cell content….but this opinion differs 😊
*From:*nvda-devel@groups.io <nvda-devel@groups.io> *On Behalf Of *Jim Homme
*Sent:* Freitag, 16. August 2019 20:45
*To:* nvda-devel@groups.io
*Subject:* [nvda-devel] Excel: Three Small Fixes
Hi,
Would this be something too small for an add-on? I’m wishing for three things to happen in Excel and thinking of attempting to change them. I’m unsure if I can do this based on my Python knowledge, but I’m annoyed enough to try.
First: In Excel, if I move, I want NVDA to say column headers and row headers first, not last.
Second, if I choose something in an in-cell dropdown, the description property and the name property in the log always has the exact same information. Even though I consider this a Microsoft issue, I still wish it only spoke once. I want to make NVDA ignore the description, but do not want to turn that setting off. I created a profile that does this to get around the problem.
Third, in the VBA editor, F8 steps through code and moves the cursor to the next line. I would like NVDA to figure out that I am in the VBA editor and say the line after I press F8.
Thanks.
Jim
==========
Jim Homme
Digital Accessibility
Bender Consulting Services
412-787-8567
https://www.benderconsult.com/our%20services/hightest-accessible-technology-solutions

Re: Excel: Three Small Fixes

Ralf Kefferpuetz
 

Your first ask is a long going thread on github, I prefer an option to give us the option what is spoken first, the cell coordinates or the cell content. My personal optinion is that the cell coordinates should be spoken before the cell content….but this opinion differs 😊

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Jim Homme
Sent: Freitag, 16. August 2019 20:45
To: nvda-devel@groups.io
Subject: [nvda-devel] Excel: Three Small Fixes

 

Hi,

Would this be something too small for an add-on? I’m wishing for three things to happen in Excel and thinking of attempting to change them. I’m unsure if I can do this based on my Python knowledge, but I’m annoyed enough to try.

 

First: In Excel, if I move, I want NVDA to say column headers and row headers first, not last.

Second, if I choose something in an in-cell dropdown, the description property and the name property in the log always has the exact same information. Even though I consider this a Microsoft issue, I still wish it only spoke once. I want to make NVDA ignore the description, but do not want to turn that setting off. I created a profile that does this to get around the problem.

Third, in the VBA editor, F8 steps through code and moves the cursor to the next line. I would like NVDA to figure out that I am in the VBA editor and say the line after I press F8.

 

 

Thanks.

 

 

Jim

 

 

 

==========

Jim Homme

Digital Accessibility

Bender Consulting Services

412-787-8567

https://www.benderconsult.com/our%20services/hightest-accessible-technology-solutions

 

Excel: Three Small Fixes

Jim Homme
 

Hi,

Would this be something too small for an add-on? I’m wishing for three things to happen in Excel and thinking of attempting to change them. I’m unsure if I can do this based on my Python knowledge, but I’m annoyed enough to try.

 

First: In Excel, if I move, I want NVDA to say column headers and row headers first, not last.

Second, if I choose something in an in-cell dropdown, the description property and the name property in the log always has the exact same information. Even though I consider this a Microsoft issue, I still wish it only spoke once. I want to make NVDA ignore the description, but do not want to turn that setting off. I created a profile that does this to get around the problem.

Third, in the VBA editor, F8 steps through code and moves the cursor to the next line. I would like NVDA to figure out that I am in the VBA editor and say the line after I press F8.

 

 

Thanks.

 

 

Jim

 

 

 

==========

Jim Homme

Digital Accessibility

Bender Consulting Services

412-787-8567

https://www.benderconsult.com/our%20services/hightest-accessible-technology-solutions

 

Re: how to make a control more accessible

Travis Siegel
 

Interesting.  I'd not tried routing the nvda cursor to the html area, honestly, it didn't even occur to me. <sigh>

But, you're right, once NVDA focuses on that area, all works as it should.  So, ow it's just a matter of finding out which functions I need to find the window in question, so I can make it the active focus point.  I know there are api calls to do this, I just need to find them.  I have the window handle of the initial window, I just don't have the children it creates.  I'll need to figure out how to get them, then focus on the html area, and all is solved.

Thanks, I didn't even realize there were additional objects inside the main pane, which I should have, since I had to intract with the pane to get to the html text in the first place.  If I'd tried routing the cursor there, I may have figured this out days ago.

Doing that should eliminate the need for any plugins or configuration settings in any of the various screen readers.

On 8/15/2019 7:39 PM, Joseph Lee wrote:
Hi,
Technical: rendered via MSHTML, as obvious from the following developer info for the text area (the first piece of information I personally needed and looks very similar to the one Travis initially posted):
name: ''
role: ROLE_SECTION
states:
isFocusable: False
hasFocus: False
Python object: <NVDAObjects.IAccessible.MSHTML.MSHTML object at 0x050BEA70>
Python class mro: (<class 'NVDAObjects.IAccessible.MSHTML.MSHTML'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: ''
location: RectLTWH(left=412, top=320, width=759, height=68)
value: ''
appModule: <'appModuleHandler' (appName u'reader', process ID 2136) at address 50b9030>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 5836140
windowClassName: u'Internet Explorer_Server'
windowControlID: 0
windowStyle: 1442840576
extendedWindowStyle: 0
windowThreadID: 11348
windowText: u''
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0x76c0abc at 4ca1210>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=5836140, objectID=None, childID=0
IAccessible accName: u"Alice's Adventures in Wonderland, by Lewis Carroll"
IAccessible accRole: ROLE_SYSTEM_PANE
IAccessible accState: STATE_SYSTEM_READONLY, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048640)
IAccessible accDescription: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible accValue: u'file://C:\\Users\\User\\Downloads\\pg11\\OEBPS\\@public@vhost@g@gutenberg@html@files@11@11-h@...#pgepubid00000'
MSHTML node has ancestor IAccessible: True
MSHTML nodeName: u'DIV'

And the document window which hosts this text area (in this case, the parent of this window; you'll notice this is the object Travis is referring to in his original post):
name: u"Alice's Adventures in Wonderland, by Lewis Carroll"
role: ROLE_DOCUMENT
states: STATE_READONLY, STATE_FOCUSABLE
isFocusable: True
hasFocus: False
Python object: <NVDAObjects.Dynamic_EditableTextWithoutAutoSelectDetectionBodyMSHTMLIAccessibleWindowNVDAObject object at 0x0514B0F0>
Python class mro: (<class 'NVDAObjects.Dynamic_EditableTextWithoutAutoSelectDetectionBodyMSHTMLIAccessibleWindowNVDAObject'>, <class 'NVDAObjects.behaviors.EditableTextWithoutAutoSelectDetection'>, <class 'editableText.EditableTextWithoutAutoSelectDetection'>, <class 'NVDAObjects.behaviors.EditableText'>, <class 'editableText.EditableText'>, <class 'NVDAObjects.IAccessible.MSHTML.Body'>, <class 'NVDAObjects.IAccessible.MSHTML.MSHTML'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: RectLTWH(left=412, top=320, width=759, height=11725)
value: ''
appModule: <'appModuleHandler' (appName u'reader', process ID 2136) at address 50b9030>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.IAccessible.MSHTML.MSHTMLTextInfo'>
windowHandle: 5836140
windowClassName: u'Internet Explorer_Server'
windowControlID: 0
windowStyle: 1442840576
extendedWindowStyle: 0
windowThreadID: 11348
windowText: u''
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0x7f22c80 at 51634e0>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=5836140, objectID=None, childID=0
IAccessible accName: u"Alice's Adventures in Wonderland, by Lewis Carroll"
IAccessible accRole: ROLE_SYSTEM_PANE
IAccessible accState: STATE_SYSTEM_READONLY, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048640)
IAccessible accDescription: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible accValue: u'file://C:\\Users\\User\\Downloads\\pg11\\OEBPS\\@public@vhost@g@gutenberg@html@files@11@11-h@...#pgepubid00000'
MSHTML node has ancestor IAccessible: False
MSHTML nodeName: u'BODY'

But the actual window that gets focused after opening this file is way different than the above and ends up in tab order:
name: None
role: ROLE_PANE
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.ShellDocObjectView object at 0x05060C90>
Python class mro: (<class 'NVDAObjects.IAccessible.ShellDocObjectView'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: RectLTWH(left=404, top=320, width=792, height=511)
value: None
appModule: <'appModuleHandler' (appName u'reader', process ID 6364) at address 4d44d90>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 3608504
windowClassName: u'Shell DocObject View'
windowControlID: 0
windowStyle: 1442906112
extendedWindowStyle: 0
windowThreadID: 10492
windowText: u''
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0x7efa630 at 4c32c10>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=3608504, objectID=-4, childID=0
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_CLIENT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: None

Procedure used:
1. Extract the test book and run the program provided by Travis.
2. Open the book in Reader - you have to open OEBPS/toc.ncx.
3. Move the system focus (Tab key) to a pane window.
4. Go down one level (first child) and force system focus to move to the text area (NVDA+Shift+Numpad minus or NVDA+Shift+Backspace depending on keyboard layout). After that, text area will be navigable as a browse mode document.

The very fact that the book element is recognized as an MSHTML element (basis for browse mode in Internet Explorer and friends powered by MSHTML) means my initial suggestion on class reassignment isn't needed (NVDA knows it is an MSHTML element already). In this respect, Brian Gaff is right.

The solution I think is to place the document itself (not the pane parent window) in the tab order, and I think there should be a Windows API function that can do this. If this works, the experience will be similar to how today's web browsers work - you can move between app UI and document content simply by pressing the Tab key. If the app itself can do this with help from the GUI toolkit used (I bet Active Template Library, as that's what ATL stands for), then there's no need to tell JAWS to place the document in tab order nor force NVDA to manipulate system focus. If you wish to provide a customization for NVDA, the best bet would be an app module for this app that will listen to gainFocus event, which will direct system focus to move to the book content if meeting the document pane object for the first time.

For sake of completeness, I tested this with Narrator (I'm using Windows 10 Version 19H2), and just like NVDA, it could not see the book content in tab order until I enabled scan mode (Narrator+Space). At least it works a bit better with scan mode on.

Cheers,
Joseph


-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Travis Siegel
Sent: Thursday, August 15, 2019 4:02 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] how to make a control more accessible

Doh.

Sorry, didn't include the dll used for unzipping the epub files.

Fixed now.

same urls as before.


On 8/15/2019 5:20 PM, Joseph Lee wrote:
Hi,
I can read the linked Epub in Edge (EdgeHTML version) with issues you've described, namely odd line cut-offs, which suggests something going on with the file itself or UIA Edge text info object. When I try to run the linked executable, I get an execution error saying that a DLL was missing.
Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Travis
Siegel
Sent: Thursday, August 15, 2019 2:11 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] how to make a control more accessible

The program is on the page at:

http://www.softcon.com/files/

The url to download it directly is:

http://www.softcon.com/files/softconreader.exe

I've also put alice in wonderland there as a test file for use with the program.

http://www.softcon.com/files/pg11.epub

Probably not the best example file, since softconreader won't actually load this particular epub file, you'll need to extract it into a directory (simply rename it to .zip instead of .epub then extract it if your system won't allow direct extraction).

You'll need to point to the toc.ncx file located in the oebps directory after it's extracted in order for the softconreader to work properly. I haven't written the search routines yet to locate a toc.ncx file if it isn't in the roote of the epub file, so at the moment, extracting the file and pointing to the toc.ncx is the only way to make it work in softconreader.

Another reason this isn't the best file to use is that several chapters are in each html file, so you need to go to chapter 5 before you will see that it loads a different file. Currently, there's no indication of what chapter you're actually reading, other than the url shown on the url textbox.

I should probably search around until I find one that works optimally with the program, but although I have several of them, hunting for one that is free to distribute could be problematic, so I think I'll stick with project gutenbers's text of alice in wonderland for now, it's still enough to show the operation of the program, and possibly to find a solution to the NVDA not working as well as it could issue.



On 8/15/2019 3:49 PM, James Scholes wrote:
As we've said: give us some details of the APIs you're using, and
post a sample program. We'll help you make it work with NVDA. You
can't just reclassify it as you can with JAWS. Tyler and others have
given you some proposed solutions, so have you tried those? Did they work?
Not work?

FYI, the EPUB3 specification allows for all sorts of embedded
content, including video, audio, mathematics, etc. EPUB books can
use ARIA, disclosures via the <details> element to show and hide
image descriptions, and more. All of this is valid, because eBooks
are not limited to text-only fiction. Anybody who's tried to use
Adobe Digital Editions to read a textbook will tell you the problems
with just treating books as plain text, or using IE.

Regards,

James Scholes

On 15/08/2019 at 8:26 pm, Travis Siegel wrote:
Apparently I'm not getting my point across here.

An epub book is nothing more than a bunch of xml or html files with
the text of the book in them. The formatting is all done via html
tags, and the files themselves are xml, because of the tree
structure of the included information (I.E. title, author, chapter
headings, and so on).

Therefore, nothing fancy is required, this is about as plain as html
files get.

There is no javascript, there is no includes of other pages, often
times, there's even no links in the files pointing to other files
and/or sites. It doesn't get any simpler than this when it comes to
html interpretation. I could certainly write my own html parsing
code, which to be honest, would largely consist of simply deleting
unnecessary html tags from the actual html code. There is nothing
wrong with using a windows api to display this text. 99 percent of
the time, nobody is going to be clicking links in the displayed
text, simply because there aren't any to click. Since I'm only using
the internet explorer engine, (not internet explorer itself, only
it's html engine), I see nothing inherent in that forcing anyone to
use explorer or any other browser for that matter. The html code is
simply interpreted, then displayed in a window within my app. The
problem I'm running into isn't that NVDA doesn't work, I've already
stated several times that NVDA does work, and it works well enough
for me to leave it alone, and just release it as is, and all will be
just fine.

What I'm trying to accomplish is to make the NVDA experience a
better one, and in my opinion, the easiest way to do that is to
convince NVDA that my displayed text area is not plain text, but
actually an html view. That way, all familiar controls will work
for NVDA users, and they won't have to press additional keys to make
it read the text as is required now.

That's all I'm after here. I'm not asking for design advice,
alternatives to my current solution, or ways to change NVDA, I'm
simply asking how I can tell NVDA that this text area is indeed an
html area, so it will operate properly. (well, what I'd consider
properly anyway).

If you can't or won't help with that, then I have no interest in
drawing out a dicussion on what you believe to be correct or not as
relates to a program you have zero knowledge of. I'm asking one
simple question, that appears not to have a simple solution. If
there's someone who knows how to tell NVDA my text area is in fact
an html view, then by all means, let me know how to do this,
otherwise, if this kind of thing isn't possible, then there's no
point in continuing this thread, and I'll go away with yet another
unsolved NVDA issue. It won't bother me in the least.


On 8/15/2019 1:44 PM, James Scholes wrote:
Extra dependencies are not junk if, (A) they make your program work
better and (B) make your life easier as a developer because no NVDA
work-arounds are needed. Many eBook files are too complex for
Internet Explorer. Heck, most web pages these days are too complex
for Internet Explorer to handle properly.

Do you use IE as your daily web browser? Because if not, you
shouldn't force your users to use it either. Apps which use
Chromium may be bigger than ones which don't, but I'd prefer a
slightly larger distribution over using outdated technology which
doesn't actually work all that well.

In any case, you seem determined to ignore that advice, so I hope
someone can help you with this specific problem. You've been asked
a couple of times to post a sample app; we should be able to make
more progress once you've done that.

Regards,

James Scholes

On 15/08/2019 at 4:05 pm, Travis Siegel wrote:
Doing a browser plugin is certainly possible, and I believe Chrome
has such a plugin already, though I've never seen or tried it.

The suggestion to use another browser has already been raised, and
again, that's certainly an option, but I'd like to keep this as
simple as possible, and requiring folks to have particular
browsers, or installing extra junk when my program installs is
something I dispise in other software, so would really really
rather not go that route.

As I've already said, the program as is works, I'm just trying to
make it work better for NVDA users, as jaws users already have it
completely automated, and all that took was a simple change in
jaws itself to tell it the displayed text was actually an html area.

If I am having trouble making NVDA work as well as jaws does on a
program I wrote, and I know all about screen readers, then who can
blame other folks for not having completely accessible software.
This is something that should be a simple fix, and on jaws, it is,
on NVDA, it isn't, and that more than anything else saddens me
greatly.

On 8/15/2019 12:23 AM, Luke Davis wrote:

Hi Travis, been a long time!

I admit I have not been following this thread closely, but an
idea comes to mind.

What about just turning your program into a preprocessor,
generate a temporary HTML file of the entire book, and have it
opened with the default browser? You might be able to use JS to
do callouts back to your code, or to other temporary files, for
things you need your program to handle.

Or pick a browser, and do the whole thing as a browser plugin to
begin with.

Luke












Re: Add-on Update 19.08.1 released with bug fixes #addonrelease

 

Hi,
Yes.
Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Brian's Mail
list account via Groups.Io
Sent: Friday, August 16, 2019 1:52 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] Add-on Update 19.08.1 released with bug fixes
#AddonRelease

Its still presenting me with toolbars Explorer that will not install on the
two last versions of nvda though. Is this a problem in toolbars explorer 1.2
on the web site?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message -----
From: "Joseph Lee" <@joslee>
To: <nvda-devel@groups.io>
Sent: Friday, August 16, 2019 1:13 AM
Subject: [nvda-devel] Add-on Update 19.08.1 released with bug fixes
#AddonRelease


Hi all,



Add-on Updater 19.08.1 is now available. This version registers
Control Usage Assistant for update checks and resolves an issue where
you could not check for updates for certain add-ons with unexpected
update channels set (NVDA would do nothing or play error tones).



Note: this update will install on NVDA 2019.1, but I recommend using
this add-on with 2019.2. Add-on Updater 19.09 will require NVDA 2019.2.



Cheers,

Joseph




Re: Add-on Update 19.08.1 released with bug fixes #addonrelease

Brian's Mail list account
 

Its still presenting me with toolbars Explorer that will not install on the two last versions of nvda though. Is this a problem in toolbars explorer 1.2 on the web site?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "Joseph Lee" <@joslee>
To: <nvda-devel@groups.io>
Sent: Friday, August 16, 2019 1:13 AM
Subject: [nvda-devel] Add-on Update 19.08.1 released with bug fixes #AddonRelease


Hi all,



Add-on Updater 19.08.1 is now available. This version registers Control
Usage Assistant for update checks and resolves an issue where you could not
check for updates for certain add-ons with unexpected update channels set
(NVDA would do nothing or play error tones).



Note: this update will install on NVDA 2019.1, but I recommend using this
add-on with 2019.2. Add-on Updater 19.09 will require NVDA 2019.2.



Cheers,

Joseph



Add-on Update 19.08.1 released with bug fixes #addonrelease

 

Hi all,

 

Add-on Updater 19.08.1 is now available. This version registers Control Usage Assistant for update checks and resolves an issue where you could not check for updates for certain add-ons with unexpected update channels set (NVDA would do nothing or play error tones).

 

Note: this update will install on NVDA 2019.1, but I recommend using this add-on with 2019.2. Add-on Updater 19.09 will require NVDA 2019.2.

 

Cheers,

Joseph

Re: how to make a control more accessible

 

Hi,
Technical: rendered via MSHTML, as obvious from the following developer info for the text area (the first piece of information I personally needed and looks very similar to the one Travis initially posted):
name: ''
role: ROLE_SECTION
states:
isFocusable: False
hasFocus: False
Python object: <NVDAObjects.IAccessible.MSHTML.MSHTML object at 0x050BEA70>
Python class mro: (<class 'NVDAObjects.IAccessible.MSHTML.MSHTML'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: ''
location: RectLTWH(left=412, top=320, width=759, height=68)
value: ''
appModule: <'appModuleHandler' (appName u'reader', process ID 2136) at address 50b9030>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 5836140
windowClassName: u'Internet Explorer_Server'
windowControlID: 0
windowStyle: 1442840576
extendedWindowStyle: 0
windowThreadID: 11348
windowText: u''
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0x76c0abc at 4ca1210>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=5836140, objectID=None, childID=0
IAccessible accName: u"Alice's Adventures in Wonderland, by Lewis Carroll"
IAccessible accRole: ROLE_SYSTEM_PANE
IAccessible accState: STATE_SYSTEM_READONLY, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048640)
IAccessible accDescription: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible accValue: u'file://C:\\Users\\User\\Downloads\\pg11\\OEBPS\\@public@vhost@g@gutenberg@html@files@11@11-h@...#pgepubid00000'
MSHTML node has ancestor IAccessible: True
MSHTML nodeName: u'DIV'

And the document window which hosts this text area (in this case, the parent of this window; you'll notice this is the object Travis is referring to in his original post):
name: u"Alice's Adventures in Wonderland, by Lewis Carroll"
role: ROLE_DOCUMENT
states: STATE_READONLY, STATE_FOCUSABLE
isFocusable: True
hasFocus: False
Python object: <NVDAObjects.Dynamic_EditableTextWithoutAutoSelectDetectionBodyMSHTMLIAccessibleWindowNVDAObject object at 0x0514B0F0>
Python class mro: (<class 'NVDAObjects.Dynamic_EditableTextWithoutAutoSelectDetectionBodyMSHTMLIAccessibleWindowNVDAObject'>, <class 'NVDAObjects.behaviors.EditableTextWithoutAutoSelectDetection'>, <class 'editableText.EditableTextWithoutAutoSelectDetection'>, <class 'NVDAObjects.behaviors.EditableText'>, <class 'editableText.EditableText'>, <class 'NVDAObjects.IAccessible.MSHTML.Body'>, <class 'NVDAObjects.IAccessible.MSHTML.MSHTML'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: RectLTWH(left=412, top=320, width=759, height=11725)
value: ''
appModule: <'appModuleHandler' (appName u'reader', process ID 2136) at address 50b9030>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.IAccessible.MSHTML.MSHTMLTextInfo'>
windowHandle: 5836140
windowClassName: u'Internet Explorer_Server'
windowControlID: 0
windowStyle: 1442840576
extendedWindowStyle: 0
windowThreadID: 11348
windowText: u''
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0x7f22c80 at 51634e0>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=5836140, objectID=None, childID=0
IAccessible accName: u"Alice's Adventures in Wonderland, by Lewis Carroll"
IAccessible accRole: ROLE_SYSTEM_PANE
IAccessible accState: STATE_SYSTEM_READONLY, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048640)
IAccessible accDescription: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible accValue: u'file://C:\\Users\\User\\Downloads\\pg11\\OEBPS\\@public@vhost@g@gutenberg@html@files@11@11-h@...#pgepubid00000'
MSHTML node has ancestor IAccessible: False
MSHTML nodeName: u'BODY'

But the actual window that gets focused after opening this file is way different than the above and ends up in tab order:
name: None
role: ROLE_PANE
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.ShellDocObjectView object at 0x05060C90>
Python class mro: (<class 'NVDAObjects.IAccessible.ShellDocObjectView'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: None
location: RectLTWH(left=404, top=320, width=792, height=511)
value: None
appModule: <'appModuleHandler' (appName u'reader', process ID 6364) at address 4d44d90>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 3608504
windowClassName: u'Shell DocObject View'
windowControlID: 0
windowStyle: 1442906112
extendedWindowStyle: 0
windowThreadID: 10492
windowText: u''
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0x7efa630 at 4c32c10>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=3608504, objectID=-4, childID=0
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_CLIENT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: None

Procedure used:
1. Extract the test book and run the program provided by Travis.
2. Open the book in Reader - you have to open OEBPS/toc.ncx.
3. Move the system focus (Tab key) to a pane window.
4. Go down one level (first child) and force system focus to move to the text area (NVDA+Shift+Numpad minus or NVDA+Shift+Backspace depending on keyboard layout). After that, text area will be navigable as a browse mode document.

The very fact that the book element is recognized as an MSHTML element (basis for browse mode in Internet Explorer and friends powered by MSHTML) means my initial suggestion on class reassignment isn't needed (NVDA knows it is an MSHTML element already). In this respect, Brian Gaff is right.

The solution I think is to place the document itself (not the pane parent window) in the tab order, and I think there should be a Windows API function that can do this. If this works, the experience will be similar to how today's web browsers work - you can move between app UI and document content simply by pressing the Tab key. If the app itself can do this with help from the GUI toolkit used (I bet Active Template Library, as that's what ATL stands for), then there's no need to tell JAWS to place the document in tab order nor force NVDA to manipulate system focus. If you wish to provide a customization for NVDA, the best bet would be an app module for this app that will listen to gainFocus event, which will direct system focus to move to the book content if meeting the document pane object for the first time.

For sake of completeness, I tested this with Narrator (I'm using Windows 10 Version 19H2), and just like NVDA, it could not see the book content in tab order until I enabled scan mode (Narrator+Space). At least it works a bit better with scan mode on.

Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Travis Siegel
Sent: Thursday, August 15, 2019 4:02 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] how to make a control more accessible

Doh.

Sorry, didn't include the dll used for unzipping the epub files.

Fixed now.

same urls as before.


On 8/15/2019 5:20 PM, Joseph Lee wrote:
Hi,
I can read the linked Epub in Edge (EdgeHTML version) with issues you've described, namely odd line cut-offs, which suggests something going on with the file itself or UIA Edge text info object. When I try to run the linked executable, I get an execution error saying that a DLL was missing.
Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Travis
Siegel
Sent: Thursday, August 15, 2019 2:11 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] how to make a control more accessible

The program is on the page at:

http://www.softcon.com/files/

The url to download it directly is:

http://www.softcon.com/files/softconreader.exe

I've also put alice in wonderland there as a test file for use with the program.

http://www.softcon.com/files/pg11.epub

Probably not the best example file, since softconreader won't actually load this particular epub file, you'll need to extract it into a directory (simply rename it to .zip instead of .epub then extract it if your system won't allow direct extraction).

You'll need to point to the toc.ncx file located in the oebps directory after it's extracted in order for the softconreader to work properly. I haven't written the search routines yet to locate a toc.ncx file if it isn't in the roote of the epub file, so at the moment, extracting the file and pointing to the toc.ncx is the only way to make it work in softconreader.

Another reason this isn't the best file to use is that several chapters are in each html file, so you need to go to chapter 5 before you will see that it loads a different file. Currently, there's no indication of what chapter you're actually reading, other than the url shown on the url textbox.

I should probably search around until I find one that works optimally with the program, but although I have several of them, hunting for one that is free to distribute could be problematic, so I think I'll stick with project gutenbers's text of alice in wonderland for now, it's still enough to show the operation of the program, and possibly to find a solution to the NVDA not working as well as it could issue.



On 8/15/2019 3:49 PM, James Scholes wrote:
As we've said: give us some details of the APIs you're using, and
post a sample program. We'll help you make it work with NVDA. You
can't just reclassify it as you can with JAWS. Tyler and others have
given you some proposed solutions, so have you tried those? Did they work?
Not work?

FYI, the EPUB3 specification allows for all sorts of embedded
content, including video, audio, mathematics, etc. EPUB books can
use ARIA, disclosures via the <details> element to show and hide
image descriptions, and more. All of this is valid, because eBooks
are not limited to text-only fiction. Anybody who's tried to use
Adobe Digital Editions to read a textbook will tell you the problems
with just treating books as plain text, or using IE.

Regards,

James Scholes

On 15/08/2019 at 8:26 pm, Travis Siegel wrote:
Apparently I'm not getting my point across here.

An epub book is nothing more than a bunch of xml or html files with
the text of the book in them. The formatting is all done via html
tags, and the files themselves are xml, because of the tree
structure of the included information (I.E. title, author, chapter
headings, and so on).

Therefore, nothing fancy is required, this is about as plain as html
files get.

There is no javascript, there is no includes of other pages, often
times, there's even no links in the files pointing to other files
and/or sites. It doesn't get any simpler than this when it comes to
html interpretation. I could certainly write my own html parsing
code, which to be honest, would largely consist of simply deleting
unnecessary html tags from the actual html code. There is nothing
wrong with using a windows api to display this text. 99 percent of
the time, nobody is going to be clicking links in the displayed
text, simply because there aren't any to click. Since I'm only using
the internet explorer engine, (not internet explorer itself, only
it's html engine), I see nothing inherent in that forcing anyone to
use explorer or any other browser for that matter. The html code is
simply interpreted, then displayed in a window within my app. The
problem I'm running into isn't that NVDA doesn't work, I've already
stated several times that NVDA does work, and it works well enough
for me to leave it alone, and just release it as is, and all will be
just fine.

What I'm trying to accomplish is to make the NVDA experience a
better one, and in my opinion, the easiest way to do that is to
convince NVDA that my displayed text area is not plain text, but
actually an html view. That way, all familiar controls will work
for NVDA users, and they won't have to press additional keys to make
it read the text as is required now.

That's all I'm after here. I'm not asking for design advice,
alternatives to my current solution, or ways to change NVDA, I'm
simply asking how I can tell NVDA that this text area is indeed an
html area, so it will operate properly. (well, what I'd consider
properly anyway).

If you can't or won't help with that, then I have no interest in
drawing out a dicussion on what you believe to be correct or not as
relates to a program you have zero knowledge of. I'm asking one
simple question, that appears not to have a simple solution. If
there's someone who knows how to tell NVDA my text area is in fact
an html view, then by all means, let me know how to do this,
otherwise, if this kind of thing isn't possible, then there's no
point in continuing this thread, and I'll go away with yet another
unsolved NVDA issue. It won't bother me in the least.


On 8/15/2019 1:44 PM, James Scholes wrote:
Extra dependencies are not junk if, (A) they make your program work
better and (B) make your life easier as a developer because no NVDA
work-arounds are needed. Many eBook files are too complex for
Internet Explorer. Heck, most web pages these days are too complex
for Internet Explorer to handle properly.

Do you use IE as your daily web browser? Because if not, you
shouldn't force your users to use it either. Apps which use
Chromium may be bigger than ones which don't, but I'd prefer a
slightly larger distribution over using outdated technology which
doesn't actually work all that well.

In any case, you seem determined to ignore that advice, so I hope
someone can help you with this specific problem. You've been asked
a couple of times to post a sample app; we should be able to make
more progress once you've done that.

Regards,

James Scholes

On 15/08/2019 at 4:05 pm, Travis Siegel wrote:
Doing a browser plugin is certainly possible, and I believe Chrome
has such a plugin already, though I've never seen or tried it.

The suggestion to use another browser has already been raised, and
again, that's certainly an option, but I'd like to keep this as
simple as possible, and requiring folks to have particular
browsers, or installing extra junk when my program installs is
something I dispise in other software, so would really really
rather not go that route.

As I've already said, the program as is works, I'm just trying to
make it work better for NVDA users, as jaws users already have it
completely automated, and all that took was a simple change in
jaws itself to tell it the displayed text was actually an html area.

If I am having trouble making NVDA work as well as jaws does on a
program I wrote, and I know all about screen readers, then who can
blame other folks for not having completely accessible software.
This is something that should be a simple fix, and on jaws, it is,
on NVDA, it isn't, and that more than anything else saddens me
greatly.

On 8/15/2019 12:23 AM, Luke Davis wrote:

Hi Travis, been a long time!

I admit I have not been following this thread closely, but an
idea comes to mind.

What about just turning your program into a preprocessor,
generate a temporary HTML file of the entire book, and have it
opened with the default browser? You might be able to use JS to
do callouts back to your code, or to other temporary files, for
things you need your program to handle.

Or pick a browser, and do the whole thing as a browser plugin to
begin with.

Luke













Re: how to make a control more accessible

Tyler Spivey
 

I'm not sure how to fix your problem technically, but in the meantime, do this:

When NVDA says pane, descend into that pane with object nav. You'll hear document.
From there, press NVDA+shift+backspace (laptop) or NVDA+shift+numpad minus (desktop) to set focus to the embedded document. Now browse mode should work.

On 8/15/2019 4:01 PM, Travis Siegel wrote:
Doh.
Sorry, didn't include the dll used for unzipping the epub files.
Fixed now.
same urls as before.
On 8/15/2019 5:20 PM, Joseph Lee wrote:
Hi,
I can read the linked Epub in Edge (EdgeHTML version) with issues you've described, namely odd line cut-offs, which suggests something going on with the file itself or UIA Edge text info object. When I try to run the linked executable, I get an execution error saying that a DLL was missing.
Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Travis Siegel
Sent: Thursday, August 15, 2019 2:11 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] how to make a control more accessible

The program is on the page at:

http://www.softcon.com/files/

The url to download it directly is:

http://www.softcon.com/files/softconreader.exe

I've also put alice in wonderland there as a test file for use with the program.

http://www.softcon.com/files/pg11.epub

Probably not the best example file, since softconreader won't actually load this particular epub file, you'll need to extract it into a directory (simply rename it to .zip instead of .epub then extract it if your system won't allow direct extraction).

You'll need to point to the toc.ncx file located in the oebps directory after it's extracted in order for the softconreader to work properly.  I haven't written the search routines yet to locate a toc.ncx file if it isn't in the roote of the epub file, so at the moment, extracting the file and pointing to the toc.ncx is the only way to make it work in softconreader.

Another reason this isn't the best file to use is that several chapters are in each html file, so you need to go to chapter 5 before you will see that it loads a different file.  Currently, there's no indication of what chapter you're actually reading, other than the url shown on the url textbox.

I should probably search around until I find one that works optimally with the program, but although I have several of them, hunting for one that is free to distribute could be problematic, so I think I'll stick with project gutenbers's text of alice in wonderland for now, it's still enough to show the operation of the program, and possibly to find a solution to the NVDA not working as well as it could issue.



On 8/15/2019 3:49 PM, James Scholes wrote:
As we've said: give us some details of the APIs you're using, and post
a sample program.  We'll help you make it work with NVDA. You can't
just reclassify it as you can with JAWS.  Tyler and others have given
you some proposed solutions, so have you tried those?  Did they work?
Not work?

FYI, the EPUB3 specification allows for all sorts of embedded content,
including video, audio, mathematics, etc.  EPUB books can use ARIA,
disclosures via the <details> element to show and hide image
descriptions, and more.  All of this is valid, because eBooks are not
limited to text-only fiction.  Anybody who's tried to use Adobe
Digital Editions to read a textbook will tell you the problems with
just treating books as plain text, or using IE.

Regards,

James Scholes

On 15/08/2019 at 8:26 pm, Travis Siegel wrote:
Apparently I'm not getting my point across here.

An epub book is nothing more than a bunch of xml or html files with
the text of the book in them.  The formatting is all done via html
tags, and the files themselves are xml, because of the tree structure
of the included information (I.E. title, author, chapter headings,
and so on).

Therefore, nothing fancy is required, this is about as plain as html
files get.

There is no javascript, there is no includes of other pages, often
times, there's even no links in the files pointing to other files
and/or sites.  It doesn't get any simpler than this when it comes to
html interpretation.  I could certainly write my own html parsing
code, which to be honest, would largely consist of simply deleting
unnecessary html tags from the actual html code.  There is nothing
wrong with using a windows api to display this text. 99 percent of
the time, nobody is going to be clicking links in the displayed text,
simply because there aren't any to click. Since I'm only using the
internet explorer engine, (not internet explorer itself, only it's
html engine), I see nothing inherent in that forcing anyone to use
explorer or any other browser for that matter.  The html code is
simply interpreted, then displayed in a window within my app.  The
problem I'm running into isn't that NVDA doesn't work, I've already
stated several times that NVDA does work, and it works well enough
for me to leave it alone, and just release it as is, and all will be
just fine.

What I'm trying to accomplish is to make the NVDA experience a better
one, and in my opinion, the easiest way to do that is to convince
NVDA that my displayed text area is not plain text, but actually an
html view.  That way, all familiar controls will work for NVDA users,
and they won't have to press additional keys to make it read the text
as is required now.

That's all I'm after here.  I'm not asking for design advice,
alternatives to my current solution, or ways to change NVDA, I'm
simply asking how I can tell NVDA that this text area is indeed an
html area, so it will operate properly.  (well, what I'd consider
properly anyway).

If you can't or won't help with that, then I have no interest in
drawing out a dicussion on what you believe to be correct or not as
relates to a program you have zero knowledge of.  I'm asking one
simple question, that appears not to have a simple solution. If
there's someone who knows how to tell NVDA my text area is in fact an
html view, then by all means, let me know how to do this, otherwise,
if this kind of thing isn't possible, then there's no point in
continuing this thread, and I'll go away with yet another unsolved
NVDA issue.  It won't bother me in the least.


On 8/15/2019 1:44 PM, James Scholes wrote:
Extra dependencies are not junk if, (A) they make your program work
better and (B) make your life easier as a developer because no NVDA
work-arounds are needed.  Many eBook files are too complex for
Internet Explorer.  Heck, most web pages these days are too complex
for Internet Explorer to handle properly.

Do you use IE as your daily web browser?  Because if not, you
shouldn't force your users to use it either.  Apps which use
Chromium may be bigger than ones which don't, but I'd prefer a
slightly larger distribution over using outdated technology which
doesn't actually work all that well.

In any case, you seem determined to ignore that advice, so I hope
someone can help you with this specific problem.  You've been asked
a couple of times to post a sample app; we should be able to make
more progress once you've done that.

Regards,

James Scholes

On 15/08/2019 at 4:05 pm, Travis Siegel wrote:
Doing a browser plugin is certainly possible, and I believe Chrome
has such a plugin already, though I've never seen or tried it.

The suggestion to use another browser has already been raised, and
again, that's certainly an option, but I'd like to keep this as
simple as possible, and requiring folks to have particular
browsers, or installing extra junk when my program installs is
something I dispise in other software, so would really really
rather not go that route.

As I've already said, the program as is works, I'm just trying to
make it work better for NVDA users, as jaws users already have it
completely automated, and all that took was a simple change in jaws
itself to tell it the displayed text was actually an html area.

If I am having trouble making NVDA work as well as jaws does on a
program I wrote, and I know all about screen readers, then who can
blame other folks for not having completely accessible software.
This is something that should be a simple fix, and on jaws, it is,
on NVDA, it isn't, and that more than anything else saddens me
greatly.

On 8/15/2019 12:23 AM, Luke Davis wrote:

Hi Travis, been a long time!

I admit I have not been following this thread closely, but an idea
comes to mind.

What about just turning your program into a preprocessor, generate
a temporary HTML file of the entire book, and have it opened with
the default browser? You might be able to use JS to do callouts
back to your code, or to other temporary files, for things you
need your program to handle.

Or pick a browser, and do the whole thing as a browser plugin to
begin with.

Luke













Re: how to make a control more accessible

Travis Siegel
 

Doh.

Sorry, didn't include the dll used for unzipping the epub files.

Fixed now.

same urls as before.

On 8/15/2019 5:20 PM, Joseph Lee wrote:
Hi,
I can read the linked Epub in Edge (EdgeHTML version) with issues you've described, namely odd line cut-offs, which suggests something going on with the file itself or UIA Edge text info object. When I try to run the linked executable, I get an execution error saying that a DLL was missing.
Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Travis Siegel
Sent: Thursday, August 15, 2019 2:11 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] how to make a control more accessible

The program is on the page at:

http://www.softcon.com/files/

The url to download it directly is:

http://www.softcon.com/files/softconreader.exe

I've also put alice in wonderland there as a test file for use with the program.

http://www.softcon.com/files/pg11.epub

Probably not the best example file, since softconreader won't actually load this particular epub file, you'll need to extract it into a directory (simply rename it to .zip instead of .epub then extract it if your system won't allow direct extraction).

You'll need to point to the toc.ncx file located in the oebps directory after it's extracted in order for the softconreader to work properly. I haven't written the search routines yet to locate a toc.ncx file if it isn't in the roote of the epub file, so at the moment, extracting the file and pointing to the toc.ncx is the only way to make it work in softconreader.

Another reason this isn't the best file to use is that several chapters are in each html file, so you need to go to chapter 5 before you will see that it loads a different file. Currently, there's no indication of what chapter you're actually reading, other than the url shown on the url textbox.

I should probably search around until I find one that works optimally with the program, but although I have several of them, hunting for one that is free to distribute could be problematic, so I think I'll stick with project gutenbers's text of alice in wonderland for now, it's still enough to show the operation of the program, and possibly to find a solution to the NVDA not working as well as it could issue.



On 8/15/2019 3:49 PM, James Scholes wrote:
As we've said: give us some details of the APIs you're using, and post
a sample program. We'll help you make it work with NVDA. You can't
just reclassify it as you can with JAWS. Tyler and others have given
you some proposed solutions, so have you tried those? Did they work?
Not work?

FYI, the EPUB3 specification allows for all sorts of embedded content,
including video, audio, mathematics, etc. EPUB books can use ARIA,
disclosures via the <details> element to show and hide image
descriptions, and more. All of this is valid, because eBooks are not
limited to text-only fiction. Anybody who's tried to use Adobe
Digital Editions to read a textbook will tell you the problems with
just treating books as plain text, or using IE.

Regards,

James Scholes

On 15/08/2019 at 8:26 pm, Travis Siegel wrote:
Apparently I'm not getting my point across here.

An epub book is nothing more than a bunch of xml or html files with
the text of the book in them. The formatting is all done via html
tags, and the files themselves are xml, because of the tree structure
of the included information (I.E. title, author, chapter headings,
and so on).

Therefore, nothing fancy is required, this is about as plain as html
files get.

There is no javascript, there is no includes of other pages, often
times, there's even no links in the files pointing to other files
and/or sites. It doesn't get any simpler than this when it comes to
html interpretation. I could certainly write my own html parsing
code, which to be honest, would largely consist of simply deleting
unnecessary html tags from the actual html code. There is nothing
wrong with using a windows api to display this text. 99 percent of
the time, nobody is going to be clicking links in the displayed text,
simply because there aren't any to click. Since I'm only using the
internet explorer engine, (not internet explorer itself, only it's
html engine), I see nothing inherent in that forcing anyone to use
explorer or any other browser for that matter. The html code is
simply interpreted, then displayed in a window within my app. The
problem I'm running into isn't that NVDA doesn't work, I've already
stated several times that NVDA does work, and it works well enough
for me to leave it alone, and just release it as is, and all will be
just fine.

What I'm trying to accomplish is to make the NVDA experience a better
one, and in my opinion, the easiest way to do that is to convince
NVDA that my displayed text area is not plain text, but actually an
html view. That way, all familiar controls will work for NVDA users,
and they won't have to press additional keys to make it read the text
as is required now.

That's all I'm after here. I'm not asking for design advice,
alternatives to my current solution, or ways to change NVDA, I'm
simply asking how I can tell NVDA that this text area is indeed an
html area, so it will operate properly. (well, what I'd consider
properly anyway).

If you can't or won't help with that, then I have no interest in
drawing out a dicussion on what you believe to be correct or not as
relates to a program you have zero knowledge of. I'm asking one
simple question, that appears not to have a simple solution. If
there's someone who knows how to tell NVDA my text area is in fact an
html view, then by all means, let me know how to do this, otherwise,
if this kind of thing isn't possible, then there's no point in
continuing this thread, and I'll go away with yet another unsolved
NVDA issue. It won't bother me in the least.


On 8/15/2019 1:44 PM, James Scholes wrote:
Extra dependencies are not junk if, (A) they make your program work
better and (B) make your life easier as a developer because no NVDA
work-arounds are needed. Many eBook files are too complex for
Internet Explorer. Heck, most web pages these days are too complex
for Internet Explorer to handle properly.

Do you use IE as your daily web browser? Because if not, you
shouldn't force your users to use it either. Apps which use
Chromium may be bigger than ones which don't, but I'd prefer a
slightly larger distribution over using outdated technology which
doesn't actually work all that well.

In any case, you seem determined to ignore that advice, so I hope
someone can help you with this specific problem. You've been asked
a couple of times to post a sample app; we should be able to make
more progress once you've done that.

Regards,

James Scholes

On 15/08/2019 at 4:05 pm, Travis Siegel wrote:
Doing a browser plugin is certainly possible, and I believe Chrome
has such a plugin already, though I've never seen or tried it.

The suggestion to use another browser has already been raised, and
again, that's certainly an option, but I'd like to keep this as
simple as possible, and requiring folks to have particular
browsers, or installing extra junk when my program installs is
something I dispise in other software, so would really really
rather not go that route.

As I've already said, the program as is works, I'm just trying to
make it work better for NVDA users, as jaws users already have it
completely automated, and all that took was a simple change in jaws
itself to tell it the displayed text was actually an html area.

If I am having trouble making NVDA work as well as jaws does on a
program I wrote, and I know all about screen readers, then who can
blame other folks for not having completely accessible software.
This is something that should be a simple fix, and on jaws, it is,
on NVDA, it isn't, and that more than anything else saddens me
greatly.

On 8/15/2019 12:23 AM, Luke Davis wrote:

Hi Travis, been a long time!

I admit I have not been following this thread closely, but an idea
comes to mind.

What about just turning your program into a preprocessor, generate
a temporary HTML file of the entire book, and have it opened with
the default browser? You might be able to use JS to do callouts
back to your code, or to other temporary files, for things you
need your program to handle.

Or pick a browser, and do the whole thing as a browser plugin to
begin with.

Luke












Re: how to make a control more accessible

 

Hi,
I can read the linked Epub in Edge (EdgeHTML version) with issues you've described, namely odd line cut-offs, which suggests something going on with the file itself or UIA Edge text info object. When I try to run the linked executable, I get an execution error saying that a DLL was missing.
Cheers,
Joseph

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Travis Siegel
Sent: Thursday, August 15, 2019 2:11 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] how to make a control more accessible

The program is on the page at:

http://www.softcon.com/files/

The url to download it directly is:

http://www.softcon.com/files/softconreader.exe

I've also put alice in wonderland there as a test file for use with the program.

http://www.softcon.com/files/pg11.epub

Probably not the best example file, since softconreader won't actually load this particular epub file, you'll need to extract it into a directory (simply rename it to .zip instead of .epub then extract it if your system won't allow direct extraction).

You'll need to point to the toc.ncx file located in the oebps directory after it's extracted in order for the softconreader to work properly. I haven't written the search routines yet to locate a toc.ncx file if it isn't in the roote of the epub file, so at the moment, extracting the file and pointing to the toc.ncx is the only way to make it work in softconreader.

Another reason this isn't the best file to use is that several chapters are in each html file, so you need to go to chapter 5 before you will see that it loads a different file. Currently, there's no indication of what chapter you're actually reading, other than the url shown on the url textbox.

I should probably search around until I find one that works optimally with the program, but although I have several of them, hunting for one that is free to distribute could be problematic, so I think I'll stick with project gutenbers's text of alice in wonderland for now, it's still enough to show the operation of the program, and possibly to find a solution to the NVDA not working as well as it could issue.



On 8/15/2019 3:49 PM, James Scholes wrote:
As we've said: give us some details of the APIs you're using, and post
a sample program. We'll help you make it work with NVDA. You can't
just reclassify it as you can with JAWS. Tyler and others have given
you some proposed solutions, so have you tried those? Did they work?
Not work?

FYI, the EPUB3 specification allows for all sorts of embedded content,
including video, audio, mathematics, etc. EPUB books can use ARIA,
disclosures via the <details> element to show and hide image
descriptions, and more. All of this is valid, because eBooks are not
limited to text-only fiction. Anybody who's tried to use Adobe
Digital Editions to read a textbook will tell you the problems with
just treating books as plain text, or using IE.

Regards,

James Scholes

On 15/08/2019 at 8:26 pm, Travis Siegel wrote:
Apparently I'm not getting my point across here.

An epub book is nothing more than a bunch of xml or html files with
the text of the book in them. The formatting is all done via html
tags, and the files themselves are xml, because of the tree structure
of the included information (I.E. title, author, chapter headings,
and so on).

Therefore, nothing fancy is required, this is about as plain as html
files get.

There is no javascript, there is no includes of other pages, often
times, there's even no links in the files pointing to other files
and/or sites. It doesn't get any simpler than this when it comes to
html interpretation. I could certainly write my own html parsing
code, which to be honest, would largely consist of simply deleting
unnecessary html tags from the actual html code. There is nothing
wrong with using a windows api to display this text. 99 percent of
the time, nobody is going to be clicking links in the displayed text,
simply because there aren't any to click. Since I'm only using the
internet explorer engine, (not internet explorer itself, only it's
html engine), I see nothing inherent in that forcing anyone to use
explorer or any other browser for that matter. The html code is
simply interpreted, then displayed in a window within my app. The
problem I'm running into isn't that NVDA doesn't work, I've already
stated several times that NVDA does work, and it works well enough
for me to leave it alone, and just release it as is, and all will be
just fine.

What I'm trying to accomplish is to make the NVDA experience a better
one, and in my opinion, the easiest way to do that is to convince
NVDA that my displayed text area is not plain text, but actually an
html view. That way, all familiar controls will work for NVDA users,
and they won't have to press additional keys to make it read the text
as is required now.

That's all I'm after here. I'm not asking for design advice,
alternatives to my current solution, or ways to change NVDA, I'm
simply asking how I can tell NVDA that this text area is indeed an
html area, so it will operate properly. (well, what I'd consider
properly anyway).

If you can't or won't help with that, then I have no interest in
drawing out a dicussion on what you believe to be correct or not as
relates to a program you have zero knowledge of. I'm asking one
simple question, that appears not to have a simple solution. If
there's someone who knows how to tell NVDA my text area is in fact an
html view, then by all means, let me know how to do this, otherwise,
if this kind of thing isn't possible, then there's no point in
continuing this thread, and I'll go away with yet another unsolved
NVDA issue. It won't bother me in the least.


On 8/15/2019 1:44 PM, James Scholes wrote:
Extra dependencies are not junk if, (A) they make your program work
better and (B) make your life easier as a developer because no NVDA
work-arounds are needed. Many eBook files are too complex for
Internet Explorer. Heck, most web pages these days are too complex
for Internet Explorer to handle properly.

Do you use IE as your daily web browser? Because if not, you
shouldn't force your users to use it either. Apps which use
Chromium may be bigger than ones which don't, but I'd prefer a
slightly larger distribution over using outdated technology which
doesn't actually work all that well.

In any case, you seem determined to ignore that advice, so I hope
someone can help you with this specific problem. You've been asked
a couple of times to post a sample app; we should be able to make
more progress once you've done that.

Regards,

James Scholes

On 15/08/2019 at 4:05 pm, Travis Siegel wrote:
Doing a browser plugin is certainly possible, and I believe Chrome
has such a plugin already, though I've never seen or tried it.

The suggestion to use another browser has already been raised, and
again, that's certainly an option, but I'd like to keep this as
simple as possible, and requiring folks to have particular
browsers, or installing extra junk when my program installs is
something I dispise in other software, so would really really
rather not go that route.

As I've already said, the program as is works, I'm just trying to
make it work better for NVDA users, as jaws users already have it
completely automated, and all that took was a simple change in jaws
itself to tell it the displayed text was actually an html area.

If I am having trouble making NVDA work as well as jaws does on a
program I wrote, and I know all about screen readers, then who can
blame other folks for not having completely accessible software.
This is something that should be a simple fix, and on jaws, it is,
on NVDA, it isn't, and that more than anything else saddens me
greatly.

On 8/15/2019 12:23 AM, Luke Davis wrote:

Hi Travis, been a long time!

I admit I have not been following this thread closely, but an idea
comes to mind.

What about just turning your program into a preprocessor, generate
a temporary HTML file of the entire book, and have it opened with
the default browser? You might be able to use JS to do callouts
back to your code, or to other temporary files, for things you
need your program to handle.

Or pick a browser, and do the whole thing as a browser plugin to
begin with.

Luke












Re: how to make a control more accessible

Travis Siegel
 

The program is on the page at:

http://www.softcon.com/files/

The url to download it directly is:

http://www.softcon.com/files/softconreader.exe

I've also put alice in wonderland there as a test file for use with the program.

http://www.softcon.com/files/pg11.epub

Probably not the best example file, since softconreader won't actually load this particular epub file, you'll need to extract it into a directory (simply rename it to .zip instead of .epub then extract it if your system won't allow direct extraction).

You'll need to point to the toc.ncx file located in the oebps directory after it's extracted in order for the softconreader to work properly.  I haven't written the search routines yet to locate a toc.ncx file if it isn't in the roote of the epub file, so at the moment, extracting the file and pointing to the toc.ncx is the only way to make it work in softconreader.

Another reason this isn't the best file to use is that several chapters are in each html file, so you need to go to chapter 5 before you will see that it loads a different file.  Currently, there's no indication of what chapter you're actually reading, other than the url shown on the url textbox.

I should probably search around until I find one that works optimally with the program, but although I have several of them, hunting for one that is free to distribute could be problematic, so I think I'll stick with project gutenbers's text of alice in wonderland for now, it's still enough to show the operation of the program, and possibly to find a solution to the NVDA not working as well as it could issue.

On 8/15/2019 3:49 PM, James Scholes wrote:
As we've said: give us some details of the APIs you're using, and post a sample program.  We'll help you make it work with NVDA. You can't just reclassify it as you can with JAWS.  Tyler and others have given you some proposed solutions, so have you tried those?  Did they work?  Not work?

FYI, the EPUB3 specification allows for all sorts of embedded content, including video, audio, mathematics, etc.  EPUB books can use ARIA, disclosures via the <details> element to show and hide image descriptions, and more.  All of this is valid, because eBooks are not limited to text-only fiction.  Anybody who's tried to use Adobe Digital Editions to read a textbook will tell you the problems with just treating books as plain text, or using IE.

Regards,

James Scholes

On 15/08/2019 at 8:26 pm, Travis Siegel wrote:
Apparently I'm not getting my point across here.

An epub book is nothing more than a bunch of xml or html files with the text of the book in them.  The formatting is all done via html tags, and the files themselves are xml, because of the tree structure of the included information (I.E. title, author, chapter headings, and so on).

Therefore, nothing fancy is required, this is about as plain as html files get.

There is no javascript, there is no includes of other pages, often times, there's even no links in the files pointing to other files and/or sites.  It doesn't get any simpler than this when it comes to html interpretation.  I could certainly write my own html parsing code, which to be honest, would largely consist of simply deleting unnecessary html tags from the actual html code.  There is nothing wrong with using a windows api to display this text. 99 percent of the time, nobody is going to be clicking links in the displayed text, simply because there aren't any to click. Since I'm only using the internet explorer engine, (not internet explorer itself, only it's html engine), I see nothing inherent in that forcing anyone to use explorer or any other browser for that matter.  The html code is simply interpreted, then displayed in a window within my app.  The problem I'm running into isn't that NVDA doesn't work, I've already stated several times that NVDA does work, and it works well enough for me to leave it alone, and just release it as is, and all will be just fine.

What I'm trying to accomplish is to make the NVDA experience a better one, and in my opinion, the easiest way to do that is to convince NVDA that my displayed text area is not plain text, but actually an html view.  That way, all familiar controls will work for NVDA users, and they won't have to press additional keys to make it read the text as is required now.

That's all I'm after here.  I'm not asking for design advice, alternatives to my current solution, or ways to change NVDA, I'm simply asking how I can tell NVDA that this text area is indeed an html area, so it will operate properly.  (well, what I'd consider properly anyway).

If you can't or won't help with that, then I have no interest in drawing out a dicussion on what you believe to be correct or not as relates to a program you have zero knowledge of.  I'm asking one simple question, that appears not to have a simple solution. If there's someone who knows how to tell NVDA my text area is in fact an html view, then by all means, let me know how to do this, otherwise, if this kind of thing isn't possible, then there's no point in continuing this thread, and I'll go away with yet another unsolved NVDA issue.  It won't bother me in the least.


On 8/15/2019 1:44 PM, James Scholes wrote:
Extra dependencies are not junk if, (A) they make your program work better and (B) make your life easier as a developer because no NVDA work-arounds are needed.  Many eBook files are too complex for Internet Explorer.  Heck, most web pages these days are too complex for Internet Explorer to handle properly.

Do you use IE as your daily web browser?  Because if not, you shouldn't force your users to use it either.  Apps which use Chromium may be bigger than ones which don't, but I'd prefer a slightly larger distribution over using outdated technology which doesn't actually work all that well.

In any case, you seem determined to ignore that advice, so I hope someone can help you with this specific problem.  You've been asked a couple of times to post a sample app; we should be able to make more progress once you've done that.

Regards,

James Scholes

On 15/08/2019 at 4:05 pm, Travis Siegel wrote:
Doing a browser plugin is certainly possible, and I believe Chrome has such a plugin already, though I've never seen or tried it.

The suggestion to use another browser has already been raised, and again, that's certainly an option, but I'd like to keep this as simple as possible, and requiring folks to have particular browsers, or installing extra junk when my program installs is something I dispise in other software, so would really really rather not go that route.

As I've already said, the program as is works, I'm just trying to make it work better for NVDA users, as jaws users already have it completely automated, and all that took was a simple change in jaws itself to tell it the displayed text was actually an html area.

If I am having trouble making NVDA work as well as jaws does on a program I wrote, and I know all about screen readers, then who can blame other folks for not having completely accessible software. This is something that should be a simple fix, and on jaws, it is, on NVDA, it isn't, and that more than anything else saddens me greatly.

On 8/15/2019 12:23 AM, Luke Davis wrote:

Hi Travis, been a long time!

I admit I have not been following this thread closely, but an idea comes to mind.

What about just turning your program into a preprocessor, generate a temporary HTML file of the entire book, and have it opened with the default browser? You might be able to use JS to do callouts back to your code, or to other temporary files, for things you need your program to handle.

Or pick a browser, and do the whole thing as a browser plugin to begin with.

Luke











Re: how to make a control more accessible

James Scholes
 

As we've said: give us some details of the APIs you're using, and post a sample program. We'll help you make it work with NVDA. You can't just reclassify it as you can with JAWS. Tyler and others have given you some proposed solutions, so have you tried those? Did they work? Not work?

FYI, the EPUB3 specification allows for all sorts of embedded content, including video, audio, mathematics, etc. EPUB books can use ARIA, disclosures via the <details> element to show and hide image descriptions, and more. All of this is valid, because eBooks are not limited to text-only fiction. Anybody who's tried to use Adobe Digital Editions to read a textbook will tell you the problems with just treating books as plain text, or using IE.

Regards,

James Scholes

On 15/08/2019 at 8:26 pm, Travis Siegel wrote:
Apparently I'm not getting my point across here.
An epub book is nothing more than a bunch of xml or html files with the text of the book in them.  The formatting is all done via html tags, and the files themselves are xml, because of the tree structure of the included information (I.E. title, author, chapter headings, and so on).
Therefore, nothing fancy is required, this is about as plain as html files get.
There is no javascript, there is no includes of other pages, often times, there's even no links in the files pointing to other files and/or sites.  It doesn't get any simpler than this when it comes to html interpretation.  I could certainly write my own html parsing code, which to be honest, would largely consist of simply deleting unnecessary html tags from the actual html code.  There is nothing wrong with using a windows api to display this text. 99 percent of the time, nobody is going to be clicking links in the displayed text, simply because there aren't any to click. Since I'm only using the internet explorer engine, (not internet explorer itself, only it's html engine), I see nothing inherent in that forcing anyone to use explorer or any other browser for that matter.  The html code is simply interpreted, then displayed in a window within my app.  The problem I'm running into isn't that NVDA doesn't work, I've already stated several times that NVDA does work, and it works well enough for me to leave it alone, and just release it as is, and all will be just fine.
What I'm trying to accomplish is to make the NVDA experience a better one, and in my opinion, the easiest way to do that is to convince NVDA that my displayed text area is not plain text, but actually an html view.  That way, all familiar controls will work for NVDA users, and they won't have to press additional keys to make it read the text as is required now.
That's all I'm after here.  I'm not asking for design advice, alternatives to my current solution, or ways to change NVDA, I'm simply asking how I can tell NVDA that this text area is indeed an html area, so it will operate properly.  (well, what I'd consider properly anyway).
If you can't or won't help with that, then I have no interest in drawing out a dicussion on what you believe to be correct or not as relates to a program you have zero knowledge of.  I'm asking one simple question, that appears not to have a simple solution. If there's someone who knows how to tell NVDA my text area is in fact an html view, then by all means, let me know how to do this, otherwise, if this kind of thing isn't possible, then there's no point in continuing this thread, and I'll go away with yet another unsolved NVDA issue.  It won't bother me in the least.
On 8/15/2019 1:44 PM, James Scholes wrote:
Extra dependencies are not junk if, (A) they make your program work better and (B) make your life easier as a developer because no NVDA work-arounds are needed.  Many eBook files are too complex for Internet Explorer.  Heck, most web pages these days are too complex for Internet Explorer to handle properly.

Do you use IE as your daily web browser?  Because if not, you shouldn't force your users to use it either.  Apps which use Chromium may be bigger than ones which don't, but I'd prefer a slightly larger distribution over using outdated technology which doesn't actually work all that well.

In any case, you seem determined to ignore that advice, so I hope someone can help you with this specific problem.  You've been asked a couple of times to post a sample app; we should be able to make more progress once you've done that.

Regards,

James Scholes

On 15/08/2019 at 4:05 pm, Travis Siegel wrote:
Doing a browser plugin is certainly possible, and I believe Chrome has such a plugin already, though I've never seen or tried it.

The suggestion to use another browser has already been raised, and again, that's certainly an option, but I'd like to keep this as simple as possible, and requiring folks to have particular browsers, or installing extra junk when my program installs is something I dispise in other software, so would really really rather not go that route.

As I've already said, the program as is works, I'm just trying to make it work better for NVDA users, as jaws users already have it completely automated, and all that took was a simple change in jaws itself to tell it the displayed text was actually an html area.

If I am having trouble making NVDA work as well as jaws does on a program I wrote, and I know all about screen readers, then who can blame other folks for not having completely accessible software. This is something that should be a simple fix, and on jaws, it is, on NVDA, it isn't, and that more than anything else saddens me greatly.

On 8/15/2019 12:23 AM, Luke Davis wrote:

Hi Travis, been a long time!

I admit I have not been following this thread closely, but an idea comes to mind.

What about just turning your program into a preprocessor, generate a temporary HTML file of the entire book, and have it opened with the default browser? You might be able to use JS to do callouts back to your code, or to other temporary files, for things you need your program to handle.

Or pick a browser, and do the whole thing as a browser plugin to begin with.

Luke








Re: how to make a control more accessible

Travis Siegel
 

Apparently I'm not getting my point across here.

An epub book is nothing more than a bunch of xml or html files with the text of the book in them.  The formatting is all done via html tags, and the files themselves are xml, because of the tree structure of the included information (I.E. title, author, chapter headings, and so on).

Therefore, nothing fancy is required, this is about as plain as html files get.

There is no javascript, there is no includes of other pages, often times, there's even no links in the files pointing to other files and/or sites.  It doesn't get any simpler than this when it comes to html interpretation.  I could certainly write my own html parsing code, which to be honest, would largely consist of simply deleting unnecessary html tags from the actual html code.  There is nothing wrong with using a windows api to display this text. 99 percent of the time, nobody is going to be clicking links in the displayed text, simply because there aren't any to click. Since I'm only using the internet explorer engine, (not internet explorer itself, only it's html engine), I see nothing inherent in that forcing anyone to use explorer or any other browser for that matter.  The html code is simply interpreted, then displayed in a window within my app.  The problem I'm running into isn't that NVDA doesn't work, I've already stated several times that NVDA does work, and it works well enough for me to leave it alone, and just release it as is, and all will be just fine.

What I'm trying to accomplish is to make the NVDA experience a better one, and in my opinion, the easiest way to do that is to convince NVDA that my displayed text area is not plain text, but actually an html view.  That way, all familiar controls will work for NVDA users, and they won't have to press additional keys to make it read the text as is required now.

That's all I'm after here.  I'm not asking for design advice, alternatives to my current solution, or ways to change NVDA, I'm simply asking how I can tell NVDA that this text area is indeed an html area, so it will operate properly.  (well, what I'd consider properly anyway).

If you can't or won't help with that, then I have no interest in drawing out a dicussion on what you believe to be correct or not as relates to a program you have zero knowledge of.  I'm asking one simple question, that appears not to have a simple solution. If there's someone who knows how to tell NVDA my text area is in fact an html view, then by all means, let me know how to do this, otherwise, if this kind of thing isn't possible, then there's no point in continuing this thread, and I'll go away with yet another unsolved NVDA issue.  It won't bother me in the least.

On 8/15/2019 1:44 PM, James Scholes wrote:
Extra dependencies are not junk if, (A) they make your program work better and (B) make your life easier as a developer because no NVDA work-arounds are needed.  Many eBook files are too complex for Internet Explorer.  Heck, most web pages these days are too complex for Internet Explorer to handle properly.

Do you use IE as your daily web browser?  Because if not, you shouldn't force your users to use it either.  Apps which use Chromium may be bigger than ones which don't, but I'd prefer a slightly larger distribution over using outdated technology which doesn't actually work all that well.

In any case, you seem determined to ignore that advice, so I hope someone can help you with this specific problem.  You've been asked a couple of times to post a sample app; we should be able to make more progress once you've done that.

Regards,

James Scholes

On 15/08/2019 at 4:05 pm, Travis Siegel wrote:
Doing a browser plugin is certainly possible, and I believe Chrome has such a plugin already, though I've never seen or tried it.

The suggestion to use another browser has already been raised, and again, that's certainly an option, but I'd like to keep this as simple as possible, and requiring folks to have particular browsers, or installing extra junk when my program installs is something I dispise in other software, so would really really rather not go that route.

As I've already said, the program as is works, I'm just trying to make it work better for NVDA users, as jaws users already have it completely automated, and all that took was a simple change in jaws itself to tell it the displayed text was actually an html area.

If I am having trouble making NVDA work as well as jaws does on a program I wrote, and I know all about screen readers, then who can blame other folks for not having completely accessible software. This is something that should be a simple fix, and on jaws, it is, on NVDA, it isn't, and that more than anything else saddens me greatly.

On 8/15/2019 12:23 AM, Luke Davis wrote:

Hi Travis, been a long time!

I admit I have not been following this thread closely, but an idea comes to mind.

What about just turning your program into a preprocessor, generate a temporary HTML file of the entire book, and have it opened with the default browser? You might be able to use JS to do callouts back to your code, or to other temporary files, for things you need your program to handle.

Or pick a browser, and do the whole thing as a browser plugin to begin with.

Luke