User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
Admin
completely blind computer geek, lover of science fiction and fantasy (especially LitRPG). I work in accessibility, but my opinions are my own, not that of my employer. Fandoms: Harry Potter, Discworld, My Little Pony: Friendship is Magic, Buffy, Dead Like Me, Glee, and I'll read fanfic of pretty much anything that crosses over with one of those.
keyoxide: aspe:keyoxide.org:PFAQDLXSBNO7MZRNPUMWWKQ7TQ
Location
Ottawa
Birthday
1987-12-20
Pronouns
he/him (EN)
matrix @fastfinge:interfree.ca
keyoxide aspe:keyoxide.org:PFAQDLXSBNO7MZRNPUMWWKQ7TQ
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt Good to know!
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt Did your work with gnome ever go anywhere? There were good ideas, there. Perhaps too many.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt Depends how they define results, I guess. By features that exist? By the number of users that can now access the thing? Etc.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt It feels like Windows would be the easier place to start, though, given Wayland and everything else that was still a mess on Linux last I checked.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@modulux @matt My understanding is that it's currently not a fully functional browser, quite yet.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt Well, here's hoping! Now is the time to do accessibility work, after all, at the foundations.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt If ladybird and/or servo ever get off the ground this is going to be needed. But they haven't, yet.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt As other folks are saying: I could do all that work for free and without pay...or...I could just read my epubs in Kindle and get back to my actual job. :-) But in short, this is why the current set of blindness made ebook readers are the way they are.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@alexhall @matt Back in the day, Firefox tried this. Jaws scripting just isn't powerful or fast enough to do what's needed.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt Yup. So in short, if I wanted to make another ebook app that worked the way Kindle does, I'd need to write a custom virtual cursor implementation for NVDA to work with it.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@pixelate @matt Yup. And jaws has custom scripting. You can't access Kindle content without it. Hense why Narrator doesn't work.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt Developer info for navigator object:
name: 'Dungeon Farm: A Slice of Life Base Building Fantasy Adventure'
role: DOCUMENT
processID: 47676
roleText: None
states: FOCUSABLE, DEFUNCT, FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.Dynamic_BookPageViewPageTurnFocusIgnorerIAccessible object at 0x000001F6863568D0>
Python class mro: (<class 'NVDAObjects.Dynamic_BookPageViewPageTurnFocusIgnorerIAccessible'>, <class 'appModules.kindle.BookPageView'>, <class 'textInfos.DocumentWithPageTurns'>, <class 'appModules.kindle.PageTurnFocusIgnorer'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <class 'garbageHandler.TrackedObject'>, <class 'object'>)
description: None
location: RectLTWH(left=676, top=143, width=640, height=901)
value: None
TextInfo: <class 'appModules.kindle.BookPageViewTextInfo'>
appModule: AppModule(kindle, appName='kindle', processID=47676)
appModule.productName: 'Kindle'
appModule.productVersion: '2.8.0.70980'
appModule.helperLocalBindingHandle: c_void_p(2158309884096)
appModule.appArchitecture: 'x86'
windowHandle: 3804144
windowClassName: 'Qt5QWindowIcon'
windowControlID: 0
windowStyle: 1442840576
extendedWindowStyle: 0
windowThreadID: 23448
windowText: 'Kindle'
displayText: ''
IAccessibleObject: <POINTER(IAccessible2) ptr=0x1fe8d4de878 at 1f685e60f50>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=3804144, objectID=-4, childID=0
IAccessible accName: 'Dungeon Farm: A Slice of Life Base Building Fantasy Adventure'
IAccessible accRole: ROLE_SYSTEM_DOCUMENT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible accValue: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible2 windowHandle: 3804144
IAccessible2 uniqueID: -527070692
IAccessible2 role: ROLE_SYSTEM_DOCUMENT
IAccessible2 states: exception: (-2147467263, 'Not implemented', (None, None, None, 0, None))
IAccessible2 attributes: 'kindle-first-visible-physical-page-label:233;kindle-first-visible-physical-page-number:234;kindle-last-visible-physical-page-label:233;kindle-last-visible-physical-page-number:234;kindle-last-physical-pagse-label:316;kindle-last-physical-pagse-number:317;kindle-first-visible-location-number:3185;kindle-last-visible-location-number:3194;kindle-max-location-number:4323;class:KindleBookPageView;'
IAccessible2 relations: exception:
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt When you first open Kindle for PC, your ebook library is shown in what is just a standard web view. So they do have a full browser engine as part of Kindle. But they don't seem, from what I can tell, to be using it to show the actual ebook.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt Yup, it does. The web app is just returning SVG glyphs instead of text. The Windows app doesn't do this.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt I've honestly been afraid to look at it too close. Kindle Cloud broke accessibility because people started using it as a way to remove Kindle DRM now that the other popular methods don't work. If I wanted too, it would be pretty easy to create a new synth driver for NVDA that uses say all as a way to extract the text from a Kindle book. Here's the current technique they're using, if you're curious: blog.pixelmelt.dev/kindle-web-drm/
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt @dhamlinmusic @lynessence @pixelate @quanin @GamingWithEars @mcourcel Nope. Direct TTS output is available if you want that. But both NVDA and jaws present kindle ebooks in some sort of custom virtual buffer. It supports pressing enter on links, autoscroll during say all, etc.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt @dhamlinmusic @lynessence @pixelate @quanin @GamingWithEars @mcourcel Whatever it is, it only works with NVDA and jaws, not narrator. So it's something custom. It also pretends to be a virtual buffer of some kind, but isn't quite a webview.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt @dhamlinmusic @lynessence @pixelate @quanin @GamingWithEars @mcourcel IMHO those are larger problems than bookmarking. We can get close enough (nearest paragraph) bookmarking in a webview. And that would be fair exchange to have working links, footnotes, endnotes, media, math content, and all the rest. But I can think of no way with current screen readers and API's that we can do autoscroll. Kindle manages it, but they're doing...something custom that I don't know anything about. And I'm just not willing to give that up.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt @dhamlinmusic @lynessence @pixelate @quanin @GamingWithEars @mcourcel I mean that I want to press NVDA+down arrow, start reading, and not have to press next page or next chapter constantly. But doing that requires loading the entire book into the HTML webview control, and now you get massive lag for various API related reasons. You can't do some sort of autoscroll to load content as you need it, because screen readers doing say all don't always update the focus position correctly, so you can't tell when they're about to hit the end of the currently loaded content. This is a thing I've thought about, and chatted with some folks about over coffee/beer.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3mo
@matt @dhamlinmusic @lynessence @pixelate @quanin @GamingWithEars @mcourcel This is also why none of the accessible open source ebook readers support Math content, or cope with footnotes and endnotes correctly. Modern ebooks really, really need to be loaded in an HTML webview. The issue is that I want continuous reading, and none of the HTML implementations like Thorium support that.