-
-
Notifications
You must be signed in to change notification settings - Fork 679
When "Braille tethered to" option is set to review, it's not possible to move the caret when you press routing buttons on braille display #3166
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
Comments
Comment 1 by jteh on 2013-04-17 19:55 If you mean flat screen review (and not just reviewing an object), it's not possible to reliably move the caret in flat review anyway. |
Comment 2 by ragb (in reply to comment 1) on 2013-04-17 23:08
I believe Sérgio's problem is a bit different. It is in the way routing buttons are handled. He was expecting that when pressing a routing button the caret would move to the character undernith the routing button, in a text box. This behavior happens when braille is fixed to Focus, but not when fixed to review cursor. More strangely, when braille is fixed to review cursor and you press a routing button on a text edit, the braille cursor blinks as it should when the caret is moved, but the actual caret position is kept unchanged (move arrows or something to verify). This is not that clear, but the fact is that it isn't easy to explain. P.S. Sérgio (the reporter) is my co-worker so I have access to the source :). Regards, Rui Batista |
Comment 3 by jteh (in reply to comment 2) on 2013-04-18 01:03
Routing buttons count as movement. When you route, ti just moves the cursor to a specific spot, depending on what you're tethered to.
That's because when tethered to review, the braille display shows the review cursor, not the caret. See my initial comment for the reasons. |
Comment 4 by sergioneves (in reply to comment 3) on 2013-04-18 06:13
Is it possible to implement the following in order to workaround this limitation? (I don't have much knowledge about the internals, so probably you have to adapt my suggestion).
|
Comment 5 by jteh on 2013-04-18 06:18 |
Comment 6 by ragb on 2013-04-18 09:01 Seeing this comments and the ones in #2385 I'm tempted to say that users are expecting braille routing buttons to activate the "clicked" item (the item wich text was cclicked) and not specifically moving the review cursor, even if braille is fixed to review. In text boxes, as far as I know, activating a character is the same as moving the caret there. Does that make sense? |
Comment 7 by jteh (in reply to comment 6) on 2013-04-21 01:25
Yes, I know what they're expecting. However, this makes it impossible to see or move the review cursor for a braille only user, which is bad because it doesn't allow you to, for example, query the formatting of a given character or copy to the clipboard using the review cursor. |
Comment 8 by heikofolkerts on 2013-07-11 18:02 Sop my proposal is just to document the fact that changing the linkage of the braille display to review will change the routing behaviour. Since most braille displays have a button to change the linkage setting switching it will be no real problem for users. So with the feature documented every body can get what he wants. Beside this comment this is another reason why nvda should use application specific settings - so a text editor would set the braille linkage once and the user can make its routing. |
After reading all this comments and that of the referenced ticket I think the key points are in #6 and #7. Ofcourse we shouldn't risk blocking braille only users so using routing keys should be switchable from just moving the review cursor or moving it and performing a click on that position afterwards. I mean a click with the mouse since this way the routing keys can be used for moving just the review dursor as stated in #7, place the caret to edit text (which is the most used situation) and just click a button or whatever to activate controls etc. Even if this kind of click is hard in screen review mode it would be helpful in object navigation alone. So what I request ist just
I think this little confusion or specific behaviour makes it quite strange and hard for beginners and it is error prone to advanced ones because one forgets to switch cursors and realizes it when wrong edits are made. |
@LeonarddeR, @michaelDCurran unfortunately I do not have a braille display to test this but I guess this is still an issue even with automatic tetering. Right? |
@jcsteh I guess the discussion was not been further expanded an NV Access. Right? |
I can't comment with certainty as to NV Access's plans or opinions concerning development, since I'm not a developer there any more. :) As far as I know, there hasn't been any further discussion on this. |
I'm also not able to speak on behalf of NV Access, but personally I believe that this is not a bug. @jcsteh has explained this in #3166 (comment) . I would say that especially now auto tethering is there, the only thing we can consider is changing the action of the routing buttons when tethering is set to auto, while it it is temporarily tethered to review (e.g. because of a review move). However, when braille is tethered to review explicitly, behaviour should stay as is. |
@LeonarddeR this sounds reasonable. I think if system carret follows review cursor in edit fields, then it should work properly. As of now, review cursor follows system carret but not vice versa. This could be an optional setting in braille settings because for speech this is not very important I guess. |
Fixes #14885 Fixes #3166 Summary of the issue: It has not been possible to move system focus/caret with single routing button press when braille is tethered to review, or when braille is tethered to automatically and follows temporarily review cursor. When user wants to review editable text without affecting system caret position (braille tethered to review continuously or temporarily), it maybe useful if he/she can route caret when needed for example to correct typos. Although thiskinds of routing has been possible, it has required at least one extra routing button press. Description of user facing changes A new setting Move system caret when Routing review cursor is added: Never (Default): No change Only when tethered automatically: Routing keys will move the caret or focus when tethered automatically. When explicitly tethered to review, routing keys won't move the caret Always: Regardless whether tethered to review or automatically, routing the review cursor will move the caret or focus Description of development approach This pr takes a different approach to #15044. The logic is not in the routing scripts in globalCommands but instead on the braille.ReviewTextInfoRegion class as well as two new region types for review cursor and objects. First of all, TextInfoRegion.routeTo has been split into two methods. This ensures that we can override the routing behavior for the review cursor regions without touching the BrailleInput logic. Furthermore, the following changes were added/changed: ReviewNVDAObjectRegion: simply sets focus to the object before executing the default action ReviewCursorManagerRegion. Inherrits from ReviewTextInfoRegion and CursorManagerRegion to ensure that ReviewTextInfoRegion._routeToTextInfo calls the right super class on cursor managers ReviewTextInfoRegion: implemented _routeToTextInfo to support the new behavior. It always calls the super class to execute the normal routing action (i.e. moving the review cursor and activating the position). When routing should move the system caret, it calls setFocus on an object when the underlying TextInfo class is DisplayModel, i.e. when in screen review. Otherwise, it calls setCursor on the super class, which translates to moving the system or cursor manager caret.
Reported by sergioneves on 2013-04-17 15:15
I'm using NVDA (last development version) and Focus 40 braille display.
Steps to reproduce:
Expected result: both the caret and the braille cursor move to the character you want.
Actual result: only the braille cursor moves to the character; the caret remains in the position it was before.
Note that when the option "Braille tethered to" is set to focus, the problem doesn't happen.
I think it's important to have the content of the braille display updated as you move the flat review cursor, without losing the possibility of using the routing buttons to change the caret position.
The text was updated successfully, but these errors were encountered: