Skip to content

Fix accessibility issues with saved object finder - #13152

Merged
stacey-gammon merged 6 commits into
elastic:masterfrom
stacey-gammon:fix/accessibility-object-finder
Aug 7, 2017
Merged

stacey-gammon merged 6 commits into
elastic:masterfrom
stacey-gammon:fix/accessibility-object-finder

Conversation

@stacey-gammon

@stacey-gammon stacey-gammon commented Jul 27, 2017 •

Copy link
Copy Markdown

and use new kui styles

Fixes #12484
Fixes #12485
Fixes #12483

screen shot 2017-07-27 at 11 24 47 am

@cjcenizal cjcenizal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love that you swapped in the kuiTabs component -- thanks for doing that! I have just one small suggestion.

</li>
</ul>
<div class="kuiTabs">
<div

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These can be <button> elements, and then we won't need kbn-accessible-click any more. That directive is meant to be used as a last resort, if you can't use a <button> or <a> with an href.

@cjcenizal

Copy link
Copy Markdown
Contributor

Also can we leave #12205 open? I think these will need to be long-lived issues to help us track overall progress and write up our 508 accessibility report.

@trevan

trevan commented Jul 28, 2017

Copy link
Copy Markdown
Contributor

I don't think kuiTabs are darkThemed yet so this will look wrong on a dark theme dashboard.

@cjcenizal

Copy link
Copy Markdown
Contributor

Oops @trevan is right. I guess we'll have to forgo the tabs for now, unless you want to update the UI Framework @stacey-gammon.

@stacey-gammon

Copy link
Copy Markdown
Author

I'm probably going about this all wrong, but some experimentation yields this for a dark theme variation:

screen shot 2017-07-28 at 5 07 26 pm

screen shot 2017-07-28 at 5 07 32 pm

@cjcenizal cjcenizal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠 It's so cool to see this component get updated. Thanks for doing this. Just had two suggestions!

$tabColor--darkTheme: #cecece;
$tabBackgroundColor--darkTheme: #333333;
$tabHoverBackgroundColor--darkTheme: #777777;
$tabBorderColor--darkTheme: #777777;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fantastic! I'd just suggest looking for global color variables (in https://github.com/elastic/kibana/blob/master/ui_framework/components/_variables.scss#L47), to which you can assign these variables. For example:

$tabColor--darkTheme: $globalTextColor--darkTheme;
$tabBackgroundColor--darkTheme: $globalBackgroundColor--darkTheme;
// etc...

This way all of the components will derive the same color palette from a shared source of truth. If there are any colors which don't exist in the _variables.scss file, then feel free to just assign the hex value to a component-specific variable in this file.


@include darkTheme {
background-color: $tabBackgroundColor--darkTheme;
border-color: $tabBorderColor--darkTheme;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we'll also need to add a color property here to make it match the link's dark theme style (https://github.com/elastic/kibana/blob/master/ui_framework/components/_mixins.scss#L25).

color: $globalLinkColor--darkTheme;

Similar changes will need to be made to the hover and focus states.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added colors for the hover states, but the other states I left as is to follow suit with the light theme, which doesn't treat those tabs when they are active as links.

How it looks now:

screen shot 2017-07-31 at 12 23 14 pm

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh OK cool, I see. I took a look in the browser and it looks like the text color has poor color contrast against the background:

image

I think we should address this color contrast issue. How about using a different variable -- can we add color: $tabColor--darkTheme;? This will get it to look like this:

image

@stacey-gammon

Copy link
Copy Markdown
Author

jenkins, test this

@cjcenizal cjcenizal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had one small suggestion. Also, can we add an example for the Tabs dark theme to the documentation site?

<GuideDemo isDarkTheme={true}>
  <Tabs />
</GuideDemo>


@include darkTheme {
background-color: $tabBackgroundColor--darkTheme;
border-color: $tabBorderColor--darkTheme;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh OK cool, I see. I took a look in the browser and it looks like the text color has poor color contrast against the background:

image

I think we should address this color contrast issue. How about using a different variable -- can we add color: $tabColor--darkTheme;? This will get it to look like this:

image

@stacey-gammon

Copy link
Copy Markdown
Author

Failed on:

03:35:17.578        │ debg  existsByDisplayedByCssSelector [data-test-subj~="dashboardLandingPage"]
03:35:18.626        │ debg  clickDashboardBreadcrumbLink
03:35:18.691        │ debg  TestSubjects.find(searchFilter)
03:35:18.692        │ debg  in displayedByCssSelector: [data-test-subj~="searchFilter"]
03:35:28.745        │ debg  --- tryForTime failure: An element could not be located on the page using the given search parameters.
03:35:39.287        │ debg  --- tryForTime failed again with the same message  ...
03:35:49.856        │ debg  --- tryForTime failed again with the same message  ...
03:36:00.425        │ debg  --- tryForTime failed again with the same message  ...
03:36:00.992        │ debg  --- tryForTime failure: tryForTime timeout: NoSuchElement: An element could not be located on the page using the given search parameters.
03:36:00.995        │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/leadfoot/lib/findDisplayed.js:37:21
03:36:00.995        │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/dojo/Promise.js:156:41
03:36:00.995        │           at run (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/dojo/Promise.js:51:33)
03:36:00.995        │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/dojo/nextTick.js:35:17
03:36:00.995        │           at _combinedTickCallback (internal/process/next_tick.js:73:7)
03:36:00.995        │           at process._tickDomainCallback (internal/process/next_tick.js:128:9)
03:36:00.995        │           at Command.findDisplayed (/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/leadfoot/Command.js:23:10)
....
(/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/bluebird/js/main/async.js:15:14)
03:36:01.002        │           at runCallback (timers.js:672:20)
03:36:01.003        │           at tryOnImmediate (timers.js:645:5)
03:36:01.003        │           at processImmediate [as _immediateCallback] (timers.js:617:5)
03:36:01.498        │ debg  --- tryForTime failure: tryForTime timeout: Error: tryForTime timeout: NoSuchElement: An element could not be located on the page using the given search parameters.
03:36:01.500        │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/leadfoot/lib/findDisplayed.js:37:21
03:36:01.500        │           at /var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/node_modules/dojo/Promise.js:156:41
......
03:36:01.507        │           at tryOnImmediate (timers.js:645:5)
03:36:01.507        │           at processImmediate [as _immediateCallback] (timers.js:617:5)
03:36:02.004        │ debg  Taking screenshot "/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/functional/screenshots/failure/dashboard app dashboard clone clone warns on duplicate name.png"
03:36:02.091      └- ✖ fail: "dashboard app dashboard clone clone warns on duplicate name"
03:36:02.093      │        tryForTime timeout: Error: tryForTime timeout: Error: tryForTime timeout: NoSuchElement: An element could not be located on the page using the given search parameters.

Hope this isn't an unstable test, those were supposed to be fixed. :(

If it passes a second time, I'll file a bug for unstable test. Since it seems to have failed on the merge commit and not the prior commit, that's what I suspect.

jenkins, test this

@stacey-gammon

Copy link
Copy Markdown
Author

Should be ready to go for a final look @cjcenizal. Test failure was flaky and I have a separate PR out that should address it.

@cjcenizal cjcenizal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fantastic! 🌋

@stacey-gammon
stacey-gammon merged commit ab8668a into elastic:master Aug 7, 2017
stacey-gammon pushed a commit to stacey-gammon/kibana that referenced this pull request Aug 7, 2017
* Fix accessibility issues with saved object finder

and use new kui styles

* Dark theme-icy kuiTabs

* Refer to existing dark theme color variables.  Use dark theme hover link color.

* use button instead of div element so no need for kbn-accessible-click

* Add dark theme tab variety to ui framework site, lighten color of background tabs
stacey-gammon pushed a commit to stacey-gammon/kibana that referenced this pull request Aug 7, 2017
* Fix accessibility issues with saved object finder

and use new kui styles

* Dark theme-icy kuiTabs

* Refer to existing dark theme color variables.  Use dark theme hover link color.

* use button instead of div element so no need for kbn-accessible-click

* Add dark theme tab variety to ui framework site, lighten color of background tabs
@stacey-gammon

Copy link
Copy Markdown
Author

Backports:
6.x: #13371
6.0: #13372

stacey-gammon pushed a commit that referenced this pull request Aug 8, 2017
* Fix accessibility issues with saved object finder

and use new kui styles

* Dark theme-icy kuiTabs

* Refer to existing dark theme color variables.  Use dark theme hover link color.

* use button instead of div element so no need for kbn-accessible-click

* Add dark theme tab variety to ui framework site, lighten color of background tabs
stacey-gammon pushed a commit that referenced this pull request Aug 8, 2017
* Fix accessibility issues with saved object finder

and use new kui styles

* Dark theme-icy kuiTabs

* Refer to existing dark theme color variables.  Use dark theme hover link color.

* use button instead of div element so no need for kbn-accessible-click

* Add dark theme tab variety to ui framework site, lighten color of background tabs
@stacey-gammon
stacey-gammon deleted the fix/accessibility-object-finder branch October 24, 2017 13:56
patrykkopycinski pushed a commit to patrykkopycinski/kibana that referenced this pull request May 6, 2026
* Fix accessibility issues with saved object finder

and use new kui styles

* Dark theme-icy kuiTabs

* Refer to existing dark theme color variables.  Use dark theme hover link color.

* use button instead of div element so no need for kbn-accessible-click

* Add dark theme tab variety to ui framework site, lighten color of background tabs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants