Opened 8 years ago

Closed 8 years ago

#13751 closed defect (fixed)

StackContainer: No indication of which page you are on

Reported by: Katie Vance Owned by: Katie Vance
Priority: high Milestone: 1.7
Component: Accessibility Version: 1.6.1
Keywords: a11y Cc: Becky Gibson
Blocked By: Blocking:

Description

These problems need to be addressed:

  1. The css class dijitStackController is no longer used and has be replaced by dijitTabController. This was changed by trac changeset: [25481]. This is why we don't see any changes to the toggle button when it's toggled. I will update the corresponding css files to use this.
  1. Remove aria-pressed.
  1. There is a bug with using a toggle button. When the user toggles a button on, then it shows as checked. However clicking the button again will set it to an unchecked state. This is incorrect because that button's corresponding pane is still shown. It's state should only be unchecked whenever it's pane is not shown.
  1. Jaws doesn't read the buttons right. It always says button 1 of 1. Even if there are 3 buttons.

Attachments (1)

13751.patch (4.0 KB) - added by Katie Vance 8 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 8 years ago by bill

Oops, looks like I removed dijitStackController by mistake (as a typo), can you change it back to dojoStackController, and modify your patch?

Also:

  • For the code in onButtonClicked(), if the "if(this._currentChild.id === page.id)" is true can't you just return?
  • Since you are removing aria-pressed, shouldn't there be an aria-selected setting on the selected button?
  • Does this patch fix issue #4? I don't see any changes that would fix that.
  • Finally, you should add to the test case for the bugs you are fixing, specifically about clicking the button for the already-selected pane.

Changed 8 years ago by Katie Vance

Attachment: 13751.patch added

comment:2 Changed 8 years ago by Katie Vance

Ok, I refreshed the patch to undo the change that was made to switch the css class from dijitStackController to dijitTabController. I still had to make one change to claro Button.css because it never had a class to handle the toggleButtonChecked state for StackContainer.

To address your other issues:

  1. You can't return if the "if(this._currentChild.id === page.id)" is true because by the time we get to this method the value has already been changed by the ToggleButton parent code.
  2. The aria-selected setting already exists, so no need to add it.
  3. It does fix issue #4, by adding presentation roles to Button.html.
  4. I added a test case.

comment:3 Changed 8 years ago by bill

Milestone: tbd1.7

OK, looks good.

FYI, TabButton extends dijit.form.Button rather than dijit.form.ToggleButton. That might be something to think about for the StackController buttons for the future. Not sure if it makes things easier or harder. But anyway I'll check this in, thanks for the patch.

comment:4 Changed 8 years ago by bill

Summary: dijit.layout.StackContainer - No indication of which page you are onStackContainer: No indication of which page you are on

comment:5 Changed 8 years ago by bill

Resolution: fixed
Status: newclosed

In [26369]:

Number of fixes to StackController:

  1. make button for selected tab appear in depressed state (darker shade of blue)
  2. clicking the button for the selected tab shouldn't change it's CSS
  3. problems with aria roles / states affecting JAWS

Fixes #13751 !strict, thanks Katie!

Note: See TracTickets for help on using tickets.