New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Early support for mathematical content in Kindle for PC. #7536
Conversation
Kindle implementation: 1. A future version of Kindle will expose MathML on embedded objects with ROLE_SYSTEM_EQUATION via a "mathml" IAccessible2 object attribute. 2. Alternatively, if there is no MathML, alt text might be exposed instead via accName. 3. Both MathML and alt text can be exposed, in which case we should always use the MathML. In this commit: 1. Update the Kindle app module to fetch MathML accordingly. It also ensures that alt text (which is placed in the "content" ControlField attribute) doesn't get reported if there is MathML. 2. MozillaCompoundTextInfo NVDAObjectAtStart property: Return the embedded object for graphics, math, etc. instead of the parent document. This is necessary to allow for interaction with math. 3. BrowseModeTreeInterceptor: When activating an NVDAObject, if doAction isn't implemented, just ignore it rather than throwing an exception. Otherwise, pressing enter on a graphic (which can't be activated in Kindle) throws an exception. 4. Update the User Guide with details about this, as well as adding a link to the MathPlayer documentation about navigation commands.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the what's new entry mention the word Kindle perhaps?
source/appModules/kindle.py
Outdated
try: | ||
field["mathMl"] = obj.mathMl | ||
except LookupError: | ||
mathMl = None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this variable get used?
Haha. My bad. I'll fix that. |
Link to issue number:
None.
Summary of the issue:
A future version of Kindle will expose MathML for books which contain it. We can thus provide access to math in those books using our existing math support.
Description of how this pull request fixes the issue:
Kindle implementation:
In this PR:
Testing performed:
Tested with builds and test cases provided by Amazon. Unfortunately, neither builds nor content are publicly available yet.
Known issues with pull request:
No known issues with the implementation. One concern is that content probably won't be publicly available before NVDA 2017.4 is released, so this won't get any public testing before release. However, we don't want to wait until 2018.1 for this to be available, so we're announcing it as "early support".
Change log entry:
New Features: