Giter VIP home page Giter VIP logo

access8math's People

Contributors

cary-rowen avatar cyrilleb79 avatar futyn-maker avatar kostenkov-2021 avatar mltony avatar nibarahmed avatar tsengwoody avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

access8math's Issues

Data_folder should not be copied directly in rawIntoReview

Hi,

Imagine if there is such a file as "d:\document.txt", then the line shutil.copytree(data_folder, review_folder) will copy all files under "D:" to review_folder.

You may be doing this because you want to load external resource files such as "data_folder\images",
however, could we have a better way? Is it even possible to ditch the workspace?

For example, is it possible to save the documentation and required js modules to a separate directory when doing the export?

Thanks

Error at Access8Math initialization when running NVDA from source

Steps to reproduce

Just run NVDA from source with usual user config having Access8Math installed:
runnvda.bat -c %appdata%\nvda

Actual behaviour

Error when the add-on is loaded upon NVDA start:

ERROR - external:globalPluginHandler.listPlugins (10:53:01.752) - MainThread (1788):
Error importing global plugin Access8Math
Traceback (most recent call last):
  File "globalPluginHandler.py", line 23, in listPlugins
    plugin = importlib.import_module("globalPlugins.%s" % name, package="globalPlugins").GlobalPlugin
  File "C:\Users\Cyrille\AppData\Local\Programs\Python\Python37-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\__init__.py", line 99, in <module>
    from editor import EditorFrame
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\editor.py", line 9, in <module>
    from lib.viewHTML import raw2review
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\lib\viewHTML.py", line 19, in <module>
    import html5lib
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\package\html5lib\__init__.py", line 25, in <module>
    from .html5parser import HTMLParser, parse, parseFragment
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\package\html5lib\html5parser.py", line 6, in <module>
    from . import _inputstream
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\package\html5lib\_inputstream.py", line 14, in <module>
    from . import _utils
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\package\html5lib\_utils.py", line 13, in <module>
    import xml.etree.ElementTree as default_etree
ImportError: cannot import name 'etree' from 'python.xml' (C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\python\xml\__init__.py)

Expected behaviour

No error

Automatic Detection of MathML

Hi,
I am designing new pdfs that contain MathML instead of just math images. I have been using your plugin with NVDA.
I have an issue where students gets confused as the NVDA starts dictating actual math content, and when we press space it disctates as Maths.
Can we modify the plugin, so NVDA automatically detects the Math and we dont have to press spacebar everytime.

Braille Translation for LaTeX is missing

Hi

I was wondering why there was no Braille output in LaTeX in the past.
Usually I always read LaTeX, and in German there were always problems with presenting mathematical content on my braille-display with access8math.
I have adjusted this behavior, should I just open a pr?
you can review the changes in my fork of this repo.

Binomials

According to MathML, mfrac also can be used for binomials. If the attribute linetickness is set to 0, it should be interpreted that way. Mathjax and Math Player do this too.

language in settings don't saved

hello.

when I open settings and switching reading language from English to Russian, it resets back to English after nvda restart.

nvda 2021.1 and access8math 3.0

How to use Access8Math editor?

Following NVDA tools menu > Access8Math > Editor, Access8Math Editor appeared.

Access8Math Editor has three menu items with submenus

  • File
    • New
    • Open
    • Save
    • SaveAs
    • Exit
  • View
    • Preview
    • Export
  • Other
    • Font
    • Find

If I press NVDA+alt+c, only hear "command gesture activated/command gesture deactivated".

Press alt+m, only hear "mark command window multi EX..", no thing appeared.

Press alt+l, only hear "multi EX command window short cut sub menu 1 of 9", no thing appeared.

Can any one help me?

Failed to import optparse in NVDA Alpha

Hello,

I run NVDA Alpha and get an import error for optparse when Access8Math is initialized:

  File "C:\Users\Tage\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\__init__.py", line 99, in <module>
    from .command.context import A8MFEVContextMenuView
  File "C:\Users\Tage\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\command\context.py", line 11, in <module>
    from ..editor import EditorFrame
  File "C:\Users\Tage\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\editor.py", line 9, in <module>
    from lib.viewHTML import Access8MathDocument
  File "C:\Users\Tage\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\lib\viewHTML.py", line 25, in <module>
    import markdown2
  File "C:\Users\Tage\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\package\markdown2.py", line 110, in <module>
    import optparse
ModuleNotFoundError: No module named 'optparse'

Since Access8Math isn't a command line application, I think it would be possible to get rid of that dependency, right?

And when this issue is fixed, how can I install this addon from source? It doesn't seem to be a dev-branch for Access8Math in the addon store.

Best regards,
Tage

Possible inefficiency in symbol_translate method

def symbol_translate(self, string):

There very well might be a good explanation for why this method is structured the way it is but it seems like it could be reduced to:

def symbol_translate(self, string):
    return self.mathcontent.symbol.get(string, string)

It seems like the same could be done for the braille_symbol_translate method but there may be something that I'm missing there.

Muting the item number in the navigation mode

Hi dear access 8 math developers. Thank you for a great addon. There is still one small issue that annoys me - in the navigation mode moving to the next or previous item I always here before the actual math content the item number. Can you pleace add in the settings something like 'level of informativeness'. Users like me would always select the minimal informativeness. I am interested in the actual math content only. Otherwise you can just remove saying the item number. Probably, nobody is really interested in the item number. Thank you again. Artur.

Return sys.path to its original state after importing modules

When you add directories to sys.path to import them, they can be imported from other modules too, maybe creating collisions with other package names. So, after importing everything, the last items of sys.path should be removed with del sys.path[x].

Russian translation

Hello everybody!

I want to make a Russian translation of rules and symbols of Access8Math, but I found some problems with translation of some consts.

So how can I translate 'sin', 'cos', 'tan' and etc? I see that these consts aren't defined in the const section of unicode.dic. When I do, for example:
sin\ttranslation\tnone
I don't get any result.

Feature Request: Add rounding rules

Rounded up

$\lfloor 3.7 \rfloor = 3$

Round down:

$\lceil 3.7 \rceil = 4$

For Chinese:

We can translate it to:
“左上取整”、“右上取整”、“左下取整”、“右下取整”。

For English, you can refer to VoiceOver in mac:
"left ceil" and "right ceil"

"left floor" and "right floor"

Any fraction with numerator 1 will cause Access8Math in trouble in language zh-TW or zh-CN.

Please browse to following page and let NVDA+Access8Math read out.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>fraction</title>
</head>
<body>
<p>Any fraction with numerator 1 cause Access8Math in trouble in language zh-TW or zh-CN.
For example, 
<math><mfrac><mn>1</mn><mn>5</mn></mfrac></math>
will be read wrong.</p>
</body>
</html>

Access8Math ignores localization and read formulas and cymbls in English

When the add-on is using in non-English language, it ignores
localization files which are in the right place in
"C:\Users\userfolder\AppData\Roaming\nvda\addons\Access8Math\locale "and
the formula or symbol is voicing in English.

Operating system - windows 11
Add-on version - 3.5
NVDA version - 2023.1

Are A8M settings using profiles?

It is unclear if A8M settings are meant to be set by profile.

Steps to reproduce

  1. Create a profile for Notepad
  2. While in notepad, open the rule settings panel
  3. In this window check or uncheck an option, e.g. uncheck "Simplified superscript and subscripts" option
  4. Validate
  5. Change application, e.g. go in Windows Explorer, so that the default profile is active
  6. Open the rules settings panel

Actual behaviour

  • At step 2. and 6. we can see in the Window title that there is no mention of profile/default config. This let us think that A8M does not use profiles.
  • At step 6. we can see that the option that was unchecked at step 3 is still checked.

Expected behaviour

Clarify if A8M should use profile for its settings or not.

  • If it should use profiles, indicate the profile's name in the A8M settings window, as done for NVDA multi-category settings window
  • If it should not, fix the issue demonstrated with the "steps to reproduce" in this issue.

A8M version

3.4

NVDA version

2022.4beta3

Translation error

The following error is occurring on the translation server, preventing translations from happening

Generating pot file Access8Math.pot
xgettext: Non-ASCII string at addon/globalPlugins/Access8Math/writer.py:775.
          Please specify the source encoding through --from-code or through a comment
          as specified in http://www.python.org/peps/pep-0263.html.

scons: *** [Access8Math.pot] Error 1
scons: building terminated because of errors.
mr addon2svn: command failed

Access8math -3.0-Dev, The Math Rules dialog cannot be opened again

Steps to reproduce:

  1. git pull the latest repo ;
  2. Execute scons to build add-on;
  3. Install add-on that have been built;
  4. After restarting NVDA, go to “Tools” ➡ “Access8Math” ➡ “Localization” ➡ “Mathematical rules”;
  5. Click;
  6. Click the "OK" button in the dialog;

Actual behavior:

Nothing happens, and the dialog box is not closed.If you cancel at this time, you cannot finish reopening the dialog box.

Expected behavior:

The settings should be applied, the dialog should be closed, and the dialog can be opened again.

System configuration

NVDA installed/portable/running from source:

installed

NVDA version:

NVDA2020.4

Windows version:

Windows 10 20H2 (64Bit) build 19042.985

Other questions

It seems that there are problems with the interaction of many settings dialogs, eg, it is currently not possible to change the display language of add-ons.

Unable to update Access8Math with add-on Updater

When trying to update A8M via Add-on Updater, I get an error message saying "Error while downloading Access8Math" (or similar).

The log contains the following debug message related to this error:

DEBUG - external:globalPlugins.addonUpdater.addonGuiEx.downloadAndInstallAddonUpdates (14:12:47.804) - Thread-18 (18496):
nvda3208: failed to download Access8Math
Traceback (most recent call last):
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\addonUpdater\globalPlugins\addonUpdater\addonGuiEx.py", line 236, in downloadAndInstallAddonUpdates
    download.result()
  File "concurrent\futures\_base.pyc", line 428, in result
  File "concurrent\futures\_base.pyc", line 384, in __get_result
  File "concurrent\futures\thread.pyc", line 57, in run
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\addonUpdater\globalPlugins\addonUpdater\addonUpdateProc.py", line 191, in downloadAddonUpdate
    raise RuntimeError("Content has incorrect file hash")
RuntimeError: Content has incorrect file hash

Maybe you have modified the existing release, hence changing the hash?

the math interacting feature breaks arrow keys!

the access8math, when interacting with the math object, says nothing when i press arrows, but it beeps when reached right and left ends. but when i finish interacting, arrow keys are not speaking letters and lines in the text fields till i restart nvda.

all the writing features straight up don't work

I have installed the addon and, either through the stable release or through the addon folder here, none of the writing gestures show up in the nvda gestures manager.
Moreover, alt+m in any sort of text field does not produce any effect and I cannot see any way to get to the write dialog. Having a quick look at global plugins init.py I see the write tool is imported, but i can't see any code that registers or uses it. I feel like I am missing something extremely basic, what is it?
my nvda version is 2021.3.1, I am running windows 11 Version 21H2 (OS build 22000.588)

Overbars using the <mover> element

Access8Math does not seem to recognize many use cases for over-script accent bars. While it will read common “line segment” constructions, it seems to ignore very common things like “x bar” for the sample mean, and the overbar used to denote a repeating decimal. See this page for examples.

Alt+S gesture should be modified

Access8Math 3.0 is using Alt+S as a shortcut in any edit field.

Alt+letter are usually reserved to access menu items or dialog box items such as checkboxes, buttons, etc. Since edit field may be encountered everywhere, You should rather choose a gesture using the NVDA key to avoid conflicting with any windows or application native shortcut.

I have encountered this issue in the search dialog box of PoeEdit. There is an edit field where I type the text I want to find. Then I have pressed Alt+S to activate the "Suivant" button, i.e. "Next" in French localization. But instead of activating the button, the Access8Math feature has been toggled.

Thanks.

Translating of operator-names

Hello!

I use the unicode.dic dictionary to translate operator-names, such as sin, cos, tan and so on. But the problem is that when this name is the part of other name, it's spoken incorrectly.

For example, I have such rule:
tan тангенс none
And if the operator-name is tan, it's OK. But if I, for example, see arctan, I hear something like "arcтангенс" (two alphabets are merge into one word).

Of course, I can add rule arctan befor tan and it should solve the problem, but I cannot find all cases when one operator is the part of other one.

Can I do something to limit the operator-name? I need ignoring the range of symbols if it is not a separate word. For example, to translate tan, but ignore this symbols in arctan.

Thanks

The settings dialogue of addon are not available for viewing and modifying

When trying to go to the addon settings to make some changes using the following way NVDA menu\tools\access 8 Math\settings... the settings dialogue are not appeared. The screen reader is silent. Don't reacted on the keyboard commence apart going to the desktop.

Operating system – windows 11;
NVDA version - 2023.1;
Addon version - 3.5.

Translator comments are missing

Access8Math has just been integrated in the translation framework. Thank you very much, this will be easier for translators.

Some translatable strings have translator comments. But for many other strings, the translator comments are missing.

Having translator comments explaining where this string is used would be really helpful for translators.

Could you add them?
Thanks in advance.

`@mathvariant` does not modify announcement of inner content

Steps to Reproduce

  1. navigate to https://thrintuim.github.io/mathvariant%20attribute.html
  2. use NVDA with Access8Math installed to read through the page.
  3. Notice that NVDA will not modify the announcement of word based on the mathvariant attribute applied.

Expected Results

JAWS behaves the same way with respect to @mathvariant. NVDA and MathPlayer produce the following results in the speech log:
normal clickable word
bold clickable bold word
italic clickable word
bold-italic clickable bold italic word
double-struck clickable double struck word
bold-fraktur clickable bold fraktur word
script clickable script word
bold-script clickable bold script word
fraktur clickable fracktur word
sans-serif clickable word
bold-sans-serif clickable word
sans-serif-italic clickable word
sans-serif-bold-italic clickable word
monospace clickable word
initial clickable math m l error word end math m l error
tailed clickable math m l error word end math m l error
looped clickable math m l error word end math m l error
stretched clickable math m l error word end math m l error

MathCAT modifies the announcement but for multi character mi elements it breaks up the word into characters e.g. bold clickable bold wbold obold rbold d

It seems like the MathPlayer output would be best, excepting the math m l error for initial, tailed, looped, and stretched.

Cannot open localization windows

Hi

Found while checking translations of A8M 3.3

STR

Try to open any of theunicode dic or math rules items in the localization submenu.

Actual result

The dialog does not open and the following error is in the log:

ERROR - unhandled exception (16:21:00.712) - MainThread (652):
Traceback (most recent call last):
File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math_init_.py", line 356, in onSpeechUnicodeDictionary
language=config.conf["Access8Math"]["settings"]["language"], category='speech'
File "gui_init_.pyc", line 162, in _popupSettingsDialog
File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\dialogs.py", line 455, in init
symbol = A8M_PM.load_unicode_dic(language=self.language, category=category)
File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\A8M_PM.py", line 1427, in load_unicode_dic
with io.open(frp, 'r', encoding='utf-8') as fr, io.open(frp_user, 'w', encoding='utf-8') as fr_user:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\locale\speech\fr_FR\unicode.dic'

Expected result

The dialog opens without error

Note

The name of the folder found in Windows Explorer is 'fr', not 'fr_FR', hence A8M does not find the file.

mspace element is announced as "empty"

Steps to reproduce

  1. create an html page that contains a MathML equation that has a mspace element in it
  2. use NVDA with Access8Math installed to announce the equation
  3. Note that the mspace element is announced as empty

Expected behavior

mspace element is ignored in announcement, or at most signifies a brief pause in announcement. JAWS 2022 ignores mspace. NVDA with MathPlayer 4 seems to pause briefly for mspace but it is otherwise ignored even with punctuation set to "all"

Error in log when cleaning workspace

STR

On a fresh install of Access8Math:

  • NVDA menu
  • Tools
  • Access8Math
  • Clean workspace

Actual result

Error tone heard with the following error in the log:

ERROR - unhandled exception (10:42:01.714) - MainThread (6460):
Traceback (most recent call last):
  File "C:\Users\Cyrille\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\__init__.py", line 370, in onCleanWorkspace
    for item in os.listdir(review):
FileNotFoundError: [WinError 3] Le chemin d’accès spécifié est introuvable: 'C:\\Users\\Cyrille\\AppData\\Roaming\\nvda\\addons\\Access8Math\\globalPlugins\\Access8Math\\web\\review'

Expected result

No error

Access8Math results in the error when using braille display

Hello! I'm using NVDA Beta, so I can know about all NVDA's errors by listening the sound beep.
I've noticed that access8Math results in error when using braille display. When I connect my braille display (Focus 40 Blue) and press any key in this, NVDA returns such error:

ERROR - scriptHandler._getObjScript (18:44:40.021) - braille._BgThread (18592):
Traceback (most recent call last):
  File "scriptHandler.pyc", line 59, in _getObjScript
  File "C:\Users\andre\AppData\Roaming\nvda\addons\Access8Math\globalPlugins\Access8Math\__init__.py", line 551, in getScript
    (len(gesture.modifierNames) == 0 or (len(gesture.modifierNames) == 1 and "shift" in gesture.modifierNames)) \
AttributeError: 'KeyGesture' object has no attribute 'modifierNames'

Can it be fixed?

Thanks

Row lines and Column lines not announced for `mtable` elements

Steps to Reproduce

  1. navigate to https://thrintuim.github.io/mtable%20with%20row%20and%20column%20lines.html
  2. use NVDA with Access8Math installed to read through the page.
  3. Notice that the row and column lines are not mentioned at all by NVDA

Expected Results

This is more a suggestion than an actual bug. Neither JAWS, NVDA w/ MathPlayer, or NVDA w/ MathCAT announce row and column lines in mtable elements. Perhaps the row and column lines could be announced when the dimensions of the table are announced. This would be important when discussing augmented matrices, or when a row line is used in a mtable representing stacked arithmetic.

No support for MathML menclose element

Steps to reproduce

  1. navigate to the menclose MDN article
  2. Using NVDA with Access8Math installed navigate to the notation portion of the Attributes section.
  3. Read through the table of possible @notation values, noting the announcement of math in column "Rendering in your browser"
  4. Notice that NVDA will announce "a squared plus b squared" regardless of notation used in the menclose element.

Expected behavior

Some mention of the enclosing notation is expected. JAWS 2022 provides the following announcements for the math expressions in the table based on their notation.
notation="longdiv": a squared + b squared, under long division symbol MathContent
notation="actuarial": a squared + b squared, under actuarial symbol MathContent
notation="radical": a squared + b squared, under radical symbol MathContent
notation="box": a squared + b squared, surrounded by box MathContent
notation="roundedbox": a squared + b squared, surrounded by rounded box. MathContent
notation="circle": a squared + b squared, surrounded by circle MathContent
notation="left": a squared + b squared, with line on the left MathContent
notation="right": a squared + b squared, with line on the right MathContent
notation="top": a squared + b squared, with line on the top MathContent
notation="bottom": a squared + b squared, with line on the bottom MathContent
notation="updiagonalstrike": a squared + b squared, covered by up diagonal strike MathContent
notation="downdiagonalstrike": a squared + b squared, covered by down diagonal strike MathContent
notation="verticalstrike": a squared + b squared, covered by virtacal strike MathContent
notation="horizontalstrike": a squared + b squared, covered by horizontal strike MathContent
notation="madruwb": a squared + b squared, madruwb MathContent
notation="updiagonalarrow": a squared + b squared MathContent
notation="phasorangle": a squared + b squared MathContent

NVDA + MathPlayer output is as follows:
notation="longdiv": long division symbol enclosing a squared plus b squared end symbol
notation="actuarial": actuarial symbol enclosing a squared plus b squared end symbol
notation="radical": the square root of a squared plus b squared
notation="box": begin box a squared plus b squared end box
notation="roundedbox": begin rounded box a squared plus b squared end rounded box
notation="circle": begin circle a squared plus b squared end circle
notation="left": line left of a squared plus b squared end line
notation="right": line right of a squared plus b squared end line
notation="top": line above a squared plus b squared end line
notation="bottom": line below a squared plus b squared end line
notation="updiagonalstrike": cross out enclosing a squared plus b squared end crossout
notation="downdiagonalstrike": cross out enclosing a squared plus b squared end crossout
notation="verticalstrike": cross out enclosing a squared plus b squared end crossout
notation="horizontalstrike": cross out enclosing a squared plus b squared end crossout
notation="madruwb": a squared plus b squared
notation="updiagonalarrow": math m l error long division symbol enclosing a squared plus b squared end symbol end math m l error
notation="phasorangle": a squared plus b squared

The menclose element is the only way to get long division symbols to render in Firefox. This is the same for MathJax, unless you add the extension that provides support for mlongdiv, mstack, etc. Obviously neither MathPlayer nor JAWS provide support for all notations but long division, crossouts, shapes, and lines would go a long way.

Misjudgment of Alt+M

I press Alt+M in a blank notepad,
NVDA report "In math section. Please leave math section first and try again."

Dependence on deprecated <mfenced> element

Access8Math reading of container structures depends on the deprecated <mfenced> element. This element is rarely found on the web, and developers are advised to use the <mrow> and <mo> elements instead as it has been deprecated from the MathML spec. See this discussion for detail. However, Access8Math does not recognize this very common construction, and reads nothing when parentheses or vertical bars surround an expression. See this sample page for examples of the common authoring practice for both parenthetical statements and absolute value constructions which do not used the deprecated element.

Add separate rule for logarithms

Hello!

I think we need in separate math rule to treatment of logarithms. It's known that the base of logarythm function is written as subscript, but it isn't spoken like a usual digit/variable with subscript.
I believe that it would be very useful if Access8Math had separate rule for log-functions. Now I can set "log" word in unicode.dic, but not a rule to spoken a base and a sub-logarithmic expression.

Thanks

Andrey

Documentation

Hello, I would like to email you, but as I don't have your contact information I just decided to open this issue.

I really appreciated this project and your initiative to provide it to the blind community.

I am doing a master's research related to math navigation using screen readers so my idea is to understand your code and try to propose an alternative version based on it. So, I wonder if you have code documentation.

Please, let me know :D thanks

very limited support for `mmultiscripts`

Steps to reproduce

  1. navigate to thrintuim.github.io/mmultiscripts.html
  2. use NVDA with Access8Math installed to read through the page.
  3. Notice that the equation under the heading no none arguments announces as: "clickable left script base order0left down mark pre subscript order0left up mark pre superscript end script", with no mention of the post scripts
  4. Notice that all other equations are announced only as clickable.

Expected results

For each math equation in the page NVDA + MathPlayer 4 announces the following:
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts lower pre subscript upper pre superscript post-scripts lower post subscript upper post superscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts upper pre superscript post-scripts lower post subscript upper post superscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts lower pre subscript post-scripts lower post subscript upper post superscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts lower pre subscript upper pre superscript post-scripts lower post subscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts lower pre subscript upper pre superscript post-scripts upper post superscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts lower pre subscript upper pre superscript post-scripts end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts post-scripts lower post subscript upper post superscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts upper pre superscript post-scripts upper post superscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts lower pre subscript post-scripts lower post subscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts upper pre superscript post-scripts lower post subscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts lower pre subscript post-scripts upper post superscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts post-scripts lower post subscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts post-scripts upper post superscript end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts lower pre subscript post-scripts end multi-scripts
clickable multi-scripts with base base and 1 prescript and 1 post-script pre-scripts upper pre superscript post-scripts end multi-scripts

JAWS 2022 is not helpful for determining how this element should be annoucned. JAWS 2022 announces the content of mmultiscripts child elements in document order with no mention of any kind of super or subscripting. mmultiscripts seems like it would be the preferred way to write combinations and permutations, e.g. nPk.

Item interval time setting

Hello!

Please, explaine me, how must this setting work in general? I don't note any changes when I regulate this. I assume that it should adjust pauses between math elements, but it doesn't work.

Access8Math making NVDA read out <mphantom>

Steps to reproduce:

  1. Go to https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mphantom in Firefox or Chrome
  2. Navigate to examples section
  3. "rendering in you browser:" will read out "x plus y plus z"
  4. Disable Access8Math
  5. Restart NVDA
  6. Navigate back to examples section
  7. "rendering in you browser:" will read out "x plus z"

Actual behavior:

  • Reads out "X + Z" as "x plus y plus z" with Access8Math enabled
  • Reads out "X + Z" as "x plus z" with Access8Math disabled
  • This is reading out the <mphantom> y + </mphantom> when Access8Math enabled

Expected behavior:

  • Read out "X + Z" as "x plus z" with Access8Math enabled or disabled
  • Should not read out <mphantom> in any case

Note: Chrome doesn't support <mphantom> thus "y +" will still appear but still shouldn't be read

NVDA version:

2021.1

Windows version:

Windows 10 (64-bit)

Name and version of other software in use when reproducing the issue:

Chrome (93.0.4577.63)
Firefox (92.0)

German locales

Dear @tsengwoody !

great Plugin and thank you for your work 👍

Can you give me some explanation how one would add a translation for e.g. german?

I found two folders where translations has been defined:

  1. This one for the addon menu and so on:\
    It is really straight forward and it is clear whar to do for another translation.
  2. And this one for the math rules and unicode dicts:\
    Can you give some explainatioin how the structure of these two file is and how they work in conjunction with the code?

Did I miss some localization files?

Would be great to hear from you, so that I can provide a german locale.

Kind regards!

UI automation

hi.

NVAccess is planning to make UI automation default by v2021.3, and code is already commited. this is going to break the functionality for this addon unless a custom UI automation atripute work is being completed and comitted before a release: nvaccess/nvda#12946

is that correct?

Idea re turning images into MathML and reading with Access8Math

Hi. Access8Math works great in cases where equations are already in Math ML. I am wondering though whether a pipeline is possible where images of equations (which is how we often encounter math online and in textbooks) can be turned into MathML using something like Meta's Nougat? Maybe this is something to explore in another project, but ultimately a great solution would be a single plug-in that can both turn images of math into MathML and then read it. Anyway, keen to know what you think. Also keen to contribute, though i haven't done much of this type of programming. Thanks for a great add-in.

Access8Math does not read MathML content in Chrome

For the first time I tried Access8Math, it worked very well without problems in Google Chrome, but when I disabled the add-on and then re-enabled it, it doesn't speak out MathML content in Chrome when I move over a line that contains MathML content, although the navigator object role is expressed as "MATH". Even when I hit the space bar for the dialog or the popup to open on the MathML element, nothing happens. Now, when I browse MathML content, NVDA speaks none. Peace and quiet. However, I tried to install both of MathCAT and MathPlayer, I tried to switch the math reader speach source to both of MathCAT and MathPlayer, also without a result.
When I tried to read math content in Edge using Access8Math, it reads MathML content without any problem. The problem lies in Google Chrome web browser.
I am not sure what the problem is, but I am sure that I need it to work instantaneously.
I can provide any relavant logs/documentations once requested.

NVDA+Alt+Arrows shortcuts conflict with IndentNav shortcuts

This is Tony, I am the author of IndentNav add-on. I just wanted to bring it up to your attention that the latest version of Access8Math seems to have conflicting keyboard shortcuts with IndentNav.
In particular: NVDA+Alt+Left/Right/Down arrows.
Another problem is that for some reason when I try to figure out what action is assigned to these shortcuts, I do that by triggering input help (NVDA+num row 1) and then pressing the desired shortcut (say NVDA+Alt+DownArrow), it doesn't say that this shortcut is assigned to anything, making it harder for users to figure out what's going on. I was looking at your code and it seems to me this might be due to the way you assign shortcuts in @script annotation:

	@script(gestures=[
		"kb:NVDA+alt+downArrow" if active else "kb:alt+downArrow",

I don't know whether NVDA is supposed to work with this kind of if statement, but it seems to me this is likely the reason why NVDA cannot tell me what is the action assigned to this shortcut. Also in input gestures dialog this action doesn't seem to appear either.
Also your documentation doesn't seem to mention that your addon uses these shortcuts.

I also want to mention that I don't know what's the right way to resolve this kind of shortcut conflicts should be. The ecosystem of NVDA addons seems to be growing steadily and conflicts like this are inevitable. So I am not necessarily asking you to change your shortcuts if you think they are essential to your addon. But what I would like to ask you is to make sure that these shortcuts can be detected by NVDA properly, that is in Input Help mode they would detect as belonging to your add-on. Otherwise I expect to see many users of IndentNav coming to me complaining that IndentNav stopped working and unable to debug this problem on their own.
Thanks!

Is there a way to eliminate item numbers from spoken output

This is a very well done add-on. It is extremely configurable and easy to install.

Wondering if there is a way to eliminate item numbers when navigating. To some, these might be useful, but to an advanced user, including item numbers will slow them down. Also, if the actual expression contains a numeric constant, then speaking item number followed by the actual constant from the expression might be confusing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.