Skip to content
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

Review toolbar example #539

Closed
6 tasks done
mcking65 opened this issue Nov 26, 2017 · 27 comments
Closed
6 tasks done

Review toolbar example #539

mcking65 opened this issue Nov 26, 2017 · 27 comments
Assignees
Labels
Example Page Related to a page containing an example implementation of a pattern

Comments

@mcking65
Copy link
Contributor

mcking65 commented Nov 26, 2017

Update as of Dec 3, 2018

The toolbar example published in APG 1.1 Release 2 developed for issue #126 has been redesigned to address the issues listed in the below redesign checklist.

Preview new toolbar in feature branch

The redesigned toolbar in feature branch issue541-toolbar-redesign is ready for review and will be merged to master after issues from this review are resolved.

Toolbar Redesign Checklist

@mcking65 mcking65 added Example Page Related to a page containing an example implementation of a pattern Needs Review labels Nov 26, 2017
@mcking65 mcking65 added this to the 1.1 APG Release 1 milestone Nov 26, 2017
@jkva
Copy link

jkva commented Nov 27, 2017

This is my first review within the APG; please let me know I'm not following correct review protocol.

The toolbar items within the toolbar are div elements with a role of button - why are these not button elements with a type of button?

@mcking65
Copy link
Contributor Author

Job, thank you for the review. This is exactly the kind of feedback we would like.

@jkva commented:

The toolbar items within the toolbar are div elements with a role of button - why are these not button elements with a type of button?

Probably because I didn't request it to be done that way when @tatermelon did the original coding work. However, given our overall guidance to prefer native HTML where possible while illustrating important features of the pattern, this is a good suggestion.
I have updated issue #541 to capture this enhancement.

@jnurthen jnurthen self-assigned this Nov 27, 2017
@jnurthen
Copy link
Member

Adding me to review - I have comments on this.

@annabbott
Copy link

annabbott commented Nov 27, 2017

Accessibility Features

  1. When tabbing into the toolbar, focus returns to the control that last had focus. Focus movement inside the toolbar is managed using roving tabindex.

I believe that sentence refers to a second pass into the toolbar.

Suggested edit:
"When tabbing into the toolbar for a second time, "

@annabbott
Copy link

annabbott commented Nov 27, 2017

Accessibility Features
2. Since there is only a single disabled control, to ensure screen reader users are aware of its presence, it is focusable. For additional guidance, see Focusability of disabled controls.

There seems to be five disabled controls (Tool 1 through Tool 5), not a single disabled control. However there isn't any visual affordance that indicates these are disabled - they just don't do anything.

@annabbott
Copy link

No other issues noted.

@spectranaut
Copy link
Contributor

Hi @tatermelon -- I'm writing tests for this example right now, and I have two questions about the documentation:

  1. The attributes table lists aria-disabled -- but I couldn't discover a way to disable one of the toolbar element (by which I mean, it seems as though aria-disabled is never set on any element of the toolbar). Is there a way to disable elements? Should this row just not be included?
  2. The attributes table makes me think the aria-label element belongs on div with role="toolbar" -- but it is instead on the role="separator" div, is this intentional?

@spectranaut
Copy link
Contributor

Hi @tatermelon -- while writing tests for the other attributes and keys, I also noticed these two inconsistencies with the table documentation:

  1. The "right arrow" and "left arrow" keys do not cycle though the tools -- a "right arrow" to the last element in the toolbar does not move the focus to the first element in the toolbar, for example.
  2. the "home" and "end" keys do not move the focus in the toolbox

@tatermelon
Copy link
Contributor

Hey @spectranaut, @mcking65 is the one who wrote the documentation for the examples, so he will know better which is correct. @mcking65 should the example be updated to match the attribute table or should the attribute table be updated to match the way the example is working?

@SuzanneTaylor
Copy link

When focus is on any of the first five buttons, if you press space-bar to activate the button, the default action of the space-bar still happens, and the page scrolls. The buttons have no implemented action and so testing and development didn't explore this far, but in terms of having an example we can send people to that covers all common mistakes, it would good to implement some simple function for the buttons and then illustrate .preventDefault()

@mcking65
Copy link
Contributor Author

Thank you @SuzanneTaylor, I agree. I've added this to issue #847.

@mcking65
Copy link
Contributor Author

mcking65 commented Dec 3, 2018

A redesigned toolbar is ready for review in the issue541-toolbar-redesign feature branch.

@mcking65
Copy link
Contributor Author

mcking65 commented Dec 3, 2018

In today's APG task force meeting, Michiel posted some useful images during the discussion about making the pressed state of buttons more visually distinct from the not pressed state.

jn: border is fine as long as there is a 3:1 ratio
... border isn't dark enough - is only 2:1
MichielBijl:
https://usercontent.irccloud-cdn.com/file/SMBtoImM/Screenshot%202018-12-03%20at%2020.00.15.png
https://usercontent.irccloud-cdn.com/file/0iW53xB7/Screenshot%202018-12-03%20at%2020.01.55.png
image 1: Current situation
image 2: Preferred situation where the buttons look like one whole group thing

cc: @jongund

@carmacleod
Copy link
Contributor

@mcking65 @jongund I like @MichielBijl's suggestion of making the radio buttons look like "one whole group thing" - this is great to show that they are a radio group and not just a bunch of unrelated toggle buttons.

However, it is still hard to glance at the toolbar and know which tools are selected/checked/on. The unselected white #FFFFFF background is just way too close to the selected light-light-gray #F4F4F4 background. I realize these 2 colors don't actually touch because there's a border between them. But I look at that radiogroup and I see 3 whitish-greyish radio button tools, and I have to stare at it to be sure which one is selected. Maybe it's my monitor, or maybe it's my eyes. ;)

@jongund
Copy link
Contributor

jongund commented Dec 5, 2018

Do you really want bold, italic and underline buttons to have a title attribute or should the title attribute be used for the accessible name instead of aria-label?

@jongund
Copy link
Contributor

jongund commented Dec 5, 2018

I have made most of the updates required in this issue, except for the title attributes on all the controls. I have added two regression tests, there is some flaw in the roving tabindex test code that has left both Evan and I perplexed. Still trying to figure out what the problem is, but we have two passing tests right now.

@jongund
Copy link
Contributor

jongund commented Dec 6, 2018

I have moved my work on this issue to the W3C repository branch:
https://github.com/w3c/aria-practices/tree/issue541-toolbar-redesign

You can view the latest version of the toolbar at:
https://raw.githack.com/w3c/aria-practices/issue541-toolbar-redesign/examples/toolbar/toolbar.html

@devarshipant
Copy link

  1. Is aria-controls implemented correctly? In the example, aria-controls IDREF (menu1) points to the ul. However, the Usage reads "Provides a reference to the textarea that the toolbar controls."

  2. Should the toolbar support Control B / I / U on text highlighted within the textarea?

@jnurthen
Copy link
Member

@devarshipant

  1. The toolbar references the textarea with aria-controls correctly. The menu button also has aria-controls pointing to its menu as specified in the menu button pattern.
  2. No - this is a demonstration of toolbar. It is not a fully formed text editor.

@devarshipant
Copy link

devarshipant commented Dec 17, 2018 via email

@jongund
Copy link
Contributor

jongund commented Dec 19, 2018

@mcking65 I updated the copyright information in the JS files

@mcking65
Copy link
Contributor Author

The redesigned toolbar example is a very significan and great piece of work by @jongund. I think it will be an especially useful reference as it demonstrates how to resolve many integration issues in an effective manner. It appears that it will also help surface quite a few assistive technology support bugs.

I’ve now finished my final editorial updates to it so it is, I hope, consistent with our style guide and all the applicable design patterns as well as with other examples. Now it is time for the whole task force to really hammer on it and see if we missed anything important:

  • Are there any bugs? We need testing with latest versions of:
    • Firefox on Windows
    • Chrome on both Win and Mac
    • Safari on Mac (iOS is also informative but not essential before release)
    • IE11.
  • Are there any accessibility problems?
  • Is the documentation accurate and clear?

This is a rather complex example, so I have assigned five people to do formal reviews in PR #950. Please try to complete your review by Thursday Jan 3 so we have enough time to get a fix in by Jan 8 in the event you find a critical problem. Of course, we welcome reviews from anyone. The more hands and brains on it the better.

To make sure we have the browsers covered, it could be helpful if you share with the group what browsers you test with and on which platform.

Example page for review and test:
https://raw.githack.com/w3c/aria-practices/issue541-toolbar-redesign/examples/toolbar/toolbar.html

Please provide feedback in pull request #950

@mcking65
Copy link
Contributor Author

mcking65 commented Jan 2, 2019

Moving development of regression tests to a separate issue -- #965.

mcking65 pushed a commit that referenced this issue Jan 15, 2019
…#pull 950)

completes work to:

* Resolve keyboard, aria-disabled, and aria-label bugs listed in issue #847.
* Add additional widget types requested in issue #541, including toggle, checkbox, spinner, menu button, radio group, and link.
* The above are all issues discussed in toolbar review issue #539.

Note: missing regression tests are tracked by issue #965.
@mcking65
Copy link
Contributor Author

@annabbott, @sh0ji, @shirsha, @charmarkk,

Does the newly merged toolbar example address this item in the to-do list for this issue?

It's hard to tell the difference between checked and not-checked toggles and radios (Noted by @carmacleod in PR #887).

@charmarkk
Copy link
Contributor

@mcking65 I think so, it's rather evident to me.

@sh0ji
Copy link
Contributor

sh0ji commented Jan 16, 2019

Yep, it looks good to me too. I do have a couple points of feedback, though:

  • I expect clicking the padding of the toolbar (the gray #ECECEA part) to move focus into the toolbar. I often use my mouse to orient my focus, and then use my keyboard to move around. This isn't strictly a requirement, but I can't be the only one who does this.
  • I'd prefer it if all the controls had a descriptive title attribute so that sighted users don't have to infer or discover the function of the controls.

@mcking65
Copy link
Contributor Author

All feedback has been addressed or is logged in a new issue. Thank you everyone for helping make the toolbar example so good!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Example Page Related to a page containing an example implementation of a pattern
Development

No branches or pull requests