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)
xmpp fastfinge@im.interfree.ca
keyoxide aspe:keyoxide.org:PFAQDLXSBNO7MZRNPUMWWKQ7TQ
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
@bermudianbrit I mean Framework? All the parts are replaceable.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
@jscholes Yeah probably. I just was hoping not to build a custom thingy, you know? Especially not a custom thingy that will get new data entered once every day or two for the next $years. Until something needs to change and someone, somewhere, will have to figure out the thingy again.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
@MostlyBlindGamer Gawd that's so overkill for a database with like 3 tables where I'm entering all data by hand though. Just tracking some metrics over time. I could use excel but the programmer in me hates that.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
What is the most windows GUI to build and query an SQLite database with a ? I'd rather avoid Access or Excel if I can.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
An ad I just saw: "Generate amazing AI covers and text-to-speech using the AI voice of Chinese Bluetooth speaker lady!"

I think I'm good, thanks.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
@matt Good to know!
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
@matt Did your work with gnome ever go anywhere? There were good ideas, there. Perhaps too many.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
@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
6mo
@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
6mo
@modulux @matt My understanding is that it's currently not a fully functional browser, quite yet.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
6mo
@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
6mo
@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
6mo
@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
6mo
@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
6mo
@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
6mo
@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
6mo
@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
6mo
@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
6mo
@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
6mo
@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/