Add a significant amount of new braille role and state abreviations and change checked and pressed states to unicode (#7188)#7248
Conversation
…ls to be in the order of how they are defined in controlTypes. No functional change.
* Change the checked and pressed states to unicode braille to be uniform across all braille tables Includes additions by @dkager
|
@josephsl and @derekriemer, I'd like your thoughts about the new states we added. Of course everyone else is welcome to review this and provide suggestions, alternatives or additions. I think I can speak for @dkager as well if I say that we'd like to have as much as possible consensus about this before we ask NV Access to look at this. |
|
Let me clone this next week and play.
…On Fri, Jun 23, 2017 at 11:01 AM, Leonard de Ruijter < ***@***.***> wrote:
@josephsl <https://github.com/josephsl> and @derekriemer
<https://github.com/derekriemer>, I'd like your thoughts about the new
states we added. Of course everyone else is welcome to review this and
provide suggestions, alternatives or additions. I think I can speak for
@dkager <https://github.com/dkager> if I say that we'd like to have as
much as possible consensus about this before we ask NV Access to look at
this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#7248 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AFGivYZ7VACTICaVN0ilm67RLOEBqQDPks5sG-9RgaJpZM4NvCm_>
.
--
Derek Riemer: Improving the world one byte at a time!
- University of Colorado Boulder Department of computer science, 4th
year undergraduate student.
- Accessibility enthusiast.
- Proud user of the NVDA screen reader.
- Open source enthusiast.
- Skier.
Personal website <http://derekriemer.com>
|
|
@leonardder commented on 3 Jun 2017, 19:58 GMT+10:
Fair enough, though I'd want the User Guide updated before this gets reviewed/incubated.
While the experience is different, the goal (I hope) is that these abbreviations should be reasonably intuitive in context. So, my vote would be against such an option. We've never had it in the past, and though I understand this adds a lot more, I think it's better for users to learn the new abbreviations, rather than becoming less efficient than they were before by disabling all of them (even the we ones we had previously). |
|
So except for user guide updates this is ready for review. @LeonarddeR are you doing the update? |
|
There are also merge conflicts now that need to be resolved.
|
|
Fixed. @LeonarddeR please double-check. |
jcsteh
left a comment
There was a problem hiding this comment.
Still merge conflicts. Maybe that just happened again today. :(
| # tree view. | ||
| controlTypes.ROLE_TREEVIEW: _("tv"), | ||
| # Translators: Displayed in braille for an object which is a | ||
| # tree view item. |
There was a problem hiding this comment.
It's worth noting that this should rarely appear because we don't show the role for tree view items unless they provide no other info. Is it still worth including?
There was a problem hiding this comment.
I believe it can occur in applications sprayed with ARIA.
| controlTypes.ROLE_TOOLBAR: _("tlbar"), | ||
| # Translators: Displayed in braille for an object which is a | ||
| # drop down button. | ||
| controlTypes.ROLE_DROPDOWNBUTTON: _("ddbtn"), |
There was a problem hiding this comment.
I wonder if drbtn might be a bit more intuitive? I know dd stands for dropdown, but when all else fails, I try to sound it out. Drbtn seems to click more quickly in my head because of the "dr" sound, but I get that this is subjective.
There was a problem hiding this comment.
Looking back at it now, I agree that drbtn is more intuitive. It would be nice to keep the buttons to 4 letters, e.g. rbtn, but I think dbtn is too vague.
| controlTypes.ROLE_SECTION: _("sect"), | ||
| # Translators: Displayed in braille for an object which is a | ||
| # toggle button. | ||
| controlTypes.ROLE_TOGGLEBUTTON: _("tbtn"), |
There was a problem hiding this comment.
Would tgbtn be more intutive?
There was a problem hiding this comment.
Similarly, I would now say that tbtn is too vague too, so agreed.
| controlTypes.ROLE_TOGGLEBUTTON: _("tbtn"), | ||
| # Translators: Displayed in braille for an object which is a | ||
| # split button. | ||
| controlTypes.ROLE_SPLITBUTTON: _("sptbtn"), |
There was a problem hiding this comment.
Would splbtn be more intuitive?
There was a problem hiding this comment.
Probably. I thought that's actually what we used, but we must have had an even brighter idea at some point. :)
Keeping in line with drbtn and tgbtn, would spbtn be an option? Probably not, because it could be confused with spin button. So splbtn then?
| # Displayed in braille when an object (e.g. a toggle button) is pressed. | ||
| controlTypes.STATE_PRESSED: u"⢎⣿⡱", | ||
| # Displayed in braille when an object (e.g. a check box) is checked. | ||
| controlTypes.STATE_CHECKED: u"⢎⣿⡱", |
There was a problem hiding this comment.
Checked and pressed are the same I think? I guess this means more or less the same thing, but speech does differentiate. Should braille differentiate too?
There was a problem hiding this comment.
See also the discussion with @feerrenrut in the issue (#7188).
| # Displayed in braille when an object (e.g. a check box) is checked. | ||
| controlTypes.STATE_CHECKED: u"⢎⣿⡱", | ||
| # Displayed in braille when an object (e.g. a check box) is half checked. | ||
| controlTypes.STATE_HALFCHECKED: u"⢎⣭⡱", |
There was a problem hiding this comment.
I'm a little concerned this looks a bit like a Latin x, so users transitioning might be confused. Since we're doing ⢎⣿⡱ for checked, how about ⢎⡇⡱ or ⢎⢸⡱ for half?
There was a problem hiding this comment.
@jcsteh Would you be OK with ⣏⣸⣹ for half checked? I like the bottom line of the cell (dots 7 and 8) to be consistently filled to make clear that it is one shape. Same for unchecked.
| # Translators: Displayed in braille when an object (e.g. an editable text field) is read-only. | ||
| controlTypes.STATE_READONLY: _("ro"), | ||
| # Displayed in braille when an object (e.g. a tree view item) is expanded. | ||
| controlTypes.STATE_EXPANDED: "-", |
There was a problem hiding this comment.
I see you made this untranslatable, but it's not Unicode. Is it possible that a dash might not work as expected in some language? What we're really wanting here is a minus sign, but most tables probably don't define the Unicode minus properly and I'm concerned about dash and minus somehow being interpreted very differently.
There was a problem hiding this comment.
Very bold idea, but we could do Unicode shapes for those too, assuming 1 or 2 braille cells can sort of represent the visual symbols (what are the visual symbols?).
I believe UEB has rules regarding the hyphen and capitals, but only if no whitespace surrounds it.
| controlTypes.STATE_COLLAPSED: "+", | ||
| # Translators: Displayed in braille when an object has a popup (usually a sub-menu). | ||
| controlTypes.STATE_HASPOPUP: _("submnu"), | ||
| # Displayed in braille when a protected control or a document is encountered. |
| # Translators: Displayed in braille when an object is not selected. | ||
| controlTypes.STATE_SELECTED: _("nsel"), | ||
| # Displayed in braille when an object (e.g. a toggle button) is not pressed. | ||
| controlTypes.STATE_PRESSED: u"⢎⣉⡱", |
There was a problem hiding this comment.
See above re checked/pressed.
| # Displayed in braille when an object (e.g. a toggle button) is not pressed. | ||
| controlTypes.STATE_PRESSED: u"⢎⣉⡱", | ||
| # Displayed in braille when an object (e.g. a check box) is not checked. | ||
| controlTypes.STATE_CHECKED: u"⢎⣉⡱", |
There was a problem hiding this comment.
As above, I'm concerned about this looking like an x. Any reason not to do ⢎ ⡱ (space in the middle)?
There was a problem hiding this comment.
To me ⣉ looks distinctly taller than x.
SuperNova uses ⣏⣀⣹ to represent an empty checkbox. Maybe that makes it clearer that it is an empty box rather than an x? In the case of NVDA we could stick to the more 'rounded' box ⢎⣀⡱ which I think is a bit easier on the fingers.
|
@LeonarddeR Please review. |
|
@dkager commented on 11 jul. 2017 11:47 CEST:
This is ok. It seems you removed some whitespace issues from the BrailleDisplayDriver class, but he, why not? Note that collapsed and expanded states are still left untranslatable. |
I did? Must be Git being smart.
I think |
|
*** isn't translatable currently.
|
|
Suggestion for treeview state shapes:
Pro: in Dutch, the plus and the exclamation point have the same braille pattern, though for the plus there are some extra whitespace rules. Readers could confuse the treeview collapsed plus for an exclamation point indicating an error. Unicode shapes are unambiguous. |
|
Personally, I'd vote for collapsed and expanded being punctuation, not
braille patterns. However, they should be translatable because of the
ambiguity of the "-" symbol.
|
|
That answers all feedback/questions I had. |
| # graphic. | ||
| controlTypes.ROLE_GRAPHIC: _("gra"), | ||
| # block quote. | ||
| controlTypes.ROLE_BLOCKQUOTE: _("blq"), |
There was a problem hiding this comment.
One more detail: I would prefer blqt or bqt, because to me 'qt' is more intuitive than 'q'. Reading the two alternatives now I would settle for bqt.
|
OK, now I'm totally happy. |
| | tvitem | tree view item | | ||
| | lv N | a tree view item has a hierarchical level N| | ||
| | wnd | window | | ||
| | ``-----`` | separator | |
There was a problem hiding this comment.
Separator is defined in the code as ⠤⠤⠤⠤⠤, which makes sense to me... but this is inconsistent here in the User Guide.
| | ⣏⣿⣹ | displayed when an object (e.g. a checkbox) is checked | | ||
| | ⣏⣸⣹ | displayed when an object (e.g. a checkbox) is half checked | | ||
| | ⢎⣀⡱ | displayed when an object (e.g. a toggle button) is not pressed | | ||
| | ⣏⣀⣹ | displayed when an object (e.g. a checkbox) is not checked | |
There was a problem hiding this comment.
While i understand why these are ordered like this in the code, I think it makes sense to keep checked, half checked and not checked together in the User Guide, rather than being interspersed with the pressed states.
|
Merging this one two days early, since it needs to go in now if we want it to get into 2017.3 and I can't see any reason to hold it back. |
cc @dkager
Link to issue number:
Fixes #7188
Summary of the issue:
In current braille output, many object roles (e.g. window) and states (e.g. pressed) are unabbreviated. This means that roles and states often take a significant, redundant space on the braille display.
Description of how this pull request fixes the issue:
This pr adds the following:
It reorders the role and state labels as how the roles and states are defined in controlTypes. Without that, it was a headache to check what roles and states were covered and which ones were not.
A whole lot of new role and state abbreviations made up by @dkager and me, after some discussion, so our ideas match. Only additions, no changes, except the changes below
We changed tb for table to tbl, since tb is ambiguous (e.g. can be tab as well)
We changed the representations of the separator role and checked/not checked states to unicode braille patterns, in order for them to be identical across braille tables. Rationale in Shorten more roles and states in braille #7188 (comment) . States are now:
Testing performed:
For the unicode changes, we tested occurences of these new patterns. We haven't been able to test every new role and state though. May be @dkager can elaborate some more on this?
Anyhow, I'd suggest for this pr to be incubating in next somewhat longer than usual, since not everyone uses braille and I think that i'd be good if other's share their thoughts and ideas as well.
Known issues with pull request:
What's New Entries
In Changes: