Early support for mathematical content in Kindle for PC.#7536
Merged
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.
michaelDCurran
approved these changes
Aug 29, 2017
michaelDCurran
left a comment
Member
There was a problem hiding this comment.
Should the what's new entry mention the word Kindle perhaps?
| try: | ||
| field["mathMl"] = obj.mathMl | ||
| except LookupError: | ||
| mathMl = None |
Member
There was a problem hiding this comment.
Does this variable get used?
Contributor
Author
Haha. My bad. I'll fix that. |
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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: