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
Disable pass1only for liblouis braille output #7301
Comments
Relevant information from #2439 (comment)
|
If I understand correctly, this is blocked by liblouis/liblouis#133 however once that issue is addressed this would be a fairly high priority fix. |
@feerrenrut: This is true. However, I recall @jcsteh saying that it is desired to have a fair amount of unit tests, especially for edge cases. As for literary braille tables, I'm only know the Dutch table pretty well, so contributions (str's) from others are more than welcome. |
In this case, it'd be best to add any tests to liblouis. If it's tested well there, I don't think we need additional tests in NVDA. If you can come up with some examples that break, it shouldn't be too hard to add tests for them.
When you say your example doesn't seem to break, did you test mapping in both directions; i.e. that routing routes to the correct case and also that moving the cursor with the keyboard moves the braille cursor to the right place?
|
Yes. For characters spanning multiple cells (e.g. numbers), cursor automatically ends up at the right most braille cell. |
The Dutch table is quite well tested, but only for forward translation. We should add tests for input/output mapping. I think the lou_checkyaml tool allows for this already. |
I tried to reproduce my str in JAWS, and it seems like they do use multi pass for liblouis. |
@BueVest suggested to make this a GUI configurable option. Although I disagree with the idea to make this GUI configurable, I belief it should be considered to make this a hidden option. This will allow us and liblouis folks to test possible brokenness in liblouis using NVDA. Thoughts @michaelDCurran, @dkager, @jcsteh, @josephsl and others? |
Hi, I’d say a private function or a config key should be provided for this and others, and let this be a volatile key (reset when NVDA restarts). Thanks.
|
@josephsl commented on 25 Oct 2017, 20:26 CEST:
Tend to disagree with this. Though an option in the gui is too much, this won't be a proper solution for people like @BueVest. |
Tend to disagree with this. Though an option in the gui is too much, this won't be a proper solution for people like <https://github.com/buevest> @BueVest.
Agree. A volatile key will still leave Braille unusable to Danish and Polish users, possibly others.
|
How about adding multipass in the options and making it documented with the description for the normal user?
Maybe it messes up the imput for the polish grade one table?
|
Hi, or we should have a snapshot series with this option added for testing purposes. We should document this if and only if testing says it can be done safely, as this is mostly an internal change. Thanks.
|
Hi,
If you can do it, do it, i am not against it.
It will help us, to see, wich tables can be used with multipass.
Maybe this will fix some ueb errors
|
@josephsl commented on 25 okt. 2017 23:01 CEST:
Not intending to be headstrong, but I also tend to disagree with this one:
Side note: JAWS also uses multi pass in production. |
I'm not even sure why |
Yes, i agree with you, as the multipass is implemented also in jaws on braille imput, and it works bettter with the unicode tables
|
I have thought along the same lines. No tables can handle a fall-back to pass 1 only because there is currently no way that a table could detect that the flag is being used. Also, enabling a feature using pass 1 only may require quite a different approach than using multi-pass, so handling a fall-back properly may be rather difficult if not downright impossible.
Personally, I think this flag should be for internal Liblouis debugging purposes only. As others have said, JAWS now uses multi-pass in production. So, the least we could do is to have the option to use it.
Apart from the trouble the users are having, as a table author, I would much rather have complaints over faulty cursor positions and trying to fix those instead of having users complaining that the tables don’t work at all and switching to JAWS for that reason, not knowing that JAWS uses exactly the same tables.
|
@jcsteh: Would you be able to give your view on the last few comments? I belief you were a strong advocate of using pass1only. @michaelDCurran: Given the concerns below, I belief it might be good to merge #7702 into master before the 2017.4 release, to at least give people switching capabilities inside a release version. After that, we could considering making multipass the default for next. Note that, even though JAWS uses this in production, we don't know whether JAWS internally accounts for multi pass failure in a different way than we do. |
I don't have a problem with getting this into Master for 2017.4, as by
default the behavior has not changed, and the user has to take explicit
action to get the new behavior.
|
So, is it going to be merged in 2017.4?
|
Quoting @dcurran
I don't have a problem with getting this into Master for 2017.4, as by
default the behavior has not changed, and the user has to take explicit
action to get the new behavior.
There is one problem.
Document in the user guide what multipass is, how this affect user, and
how this option works.
Put this in the advanced topic section of the user guide.
W dniu 02.11.2017 o 09:04, BueVest pisze:
… So, is it going to be merged in 2017.4?
Fra: Michael Curran ***@***.***
Sendt: 26. oktober 2017 11:23
Til: nvaccess/nvda ***@***.***>
Cc: BueVest ***@***.***>; Mention ***@***.***>
Emne: Re: [nvaccess/nvda] Disable pass1only for liblouis braille
output (#7301)
I don't have a problem with getting this into Master for 2017.4, as by
default the behavior has not changed, and the user has to take explicit
action to get the new behavior.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#7301 (comment)>
, or mute the thread
<https://github.com/notifications/unsubscribe-auth/AMFZiX1VfTOVtoF1xi-yMN_5RaIvW5ywks5swE-MgaJpZM4N942I>
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#7301 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKohk_43o6z0kc8ELmWcGUD6jhm0UpWeks5syXd9gaJpZM4N942I>.
|
Note: This issue needs an external fix at the moment, liblouis/liblouis#133 . I opened this issue to document cases why using Liblouis multipass is desired.
Steps to reproduce:
Expected behavior:
Output is: ⠼⠁⠠⠃⠼⠉⠠⠙⠼⠑
Actual behavior:
Output is: ⠼⠁⠃⠼⠉⠙⠼⠑
It is not clear how to read this. It is not possible to see where the numbers end and the letters start. In this example, you may be able to guess that there is a b and a d, not a 2 and a 4. However, In strings like 12cde67hij, you certainly won't be able to see where the letters start.
Technical background
NVDA sends text to the liblouis braille translator using the pass1Only mode flag. From liblouis/liblouis#133:
Specifically, this leads to the problem that cursor routing is said to break in NVDA as the braille character to output position mapping is broken. I wasn't able to reproduce this using the example above, though.
CC @josephsl @dkager
The text was updated successfully, but these errors were encountered: