-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Dashboard a11y tests #58122
Dashboard a11y tests #58122
Conversation
There's still that one failure and adding Other than that, this should be good to go. |
aria-label={i18n.translate( | ||
'kbn.discover.docTable.pager.toolbarPagerButtons.previousButtonAriaLabel', | ||
{ | ||
defaultMessage: 'previous page button', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
defaultMessage: 'previous page button', | |
defaultMessage: 'Previous page in table', |
I'd suggest cutting the word "button" because the type of control will be communicated by the assistive tech.
And I wanted to clarify what "previous page" means because that could also mean it does something similar to a browser back button. "in table" is still kind of vague but this UI will be changing soon so I don't think we need to invest too much into it to make it perfect.
aria-label={i18n.translate( | ||
'kbn.ddiscover.docTable.pager.toolbarPagerButtons.nextButtonAriaLabel', | ||
{ | ||
defaultMessage: 'next page button', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
defaultMessage: 'next page button', | |
defaultMessage: 'Next page in table', |
Same as "previous page button" above
@@ -143,6 +156,7 @@ class ListControlUi extends PureComponent<ListControlUiProps, ListControlUiState | |||
onChange={this.handleOnChange} | |||
singleSelection={!this.props.multiselect} | |||
data-test-subj={`listControlSelect${this.props.controlIndex}`} | |||
inputRef={this.setTextInputRef} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I'm not 100% sure where this is getting rendered so I wasn't able to test it but while poking around this pointed to a much larger issue (that I think this is covering up) of, why is so much of dashboard wrapped in a aria-hidden="true"
and with a screen reader only warning saying it's not accessible?
This is concerning on several levels...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean that much of dashboard is wrapped in "area-hidden=true"? If the point here is that dashboard is basically useless when all the visualizations are hidden in accessibility mode, I completely agree. I think it doesn't make much sense to show the dashboard in the first place, but I kinda assumed you and Bhavya had already discussed that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hadn't done an a11y deep dive into the Dashboard page before so this is the first that I'm seeing it... I guess it's too large to address in this PR though. I'll focus on helping you merge this so that we can get the tests merged and I'll take a note to revisit it later. Might ping you about it later depending on how investigation goes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's for looking into these!
Jenkins, test this |
@elasticmachine merge upstream |
1 similar comment
@elasticmachine merge upstream |
@majagrubic @bhavyarm Anything else on this or is it good to merge? I think if this merges to master, it'll supersede #57821 but they have diverged a little. (Bhavya's committed cab78c9 since this branched off.) |
I'm trying to get the tests to pass, but otherwise good to merge from my side |
Pinging @elastic/kibana-app (Team:KibanaApp) |
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code owner changes LGTM
Co-Authored-By: Michail Yasonik <[email protected]>
src/legacy/core_plugins/input_control_vis/public/components/vis/list_control.tsx
Outdated
Show resolved
Hide resolved
@@ -92,6 +92,7 @@ export class ValidatedDualRange extends Component { | |||
fullWidth={fullWidth} | |||
value={this.state.value} | |||
onChange={this._onChange} | |||
focusable={false} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a comment above to make focusable again when #59039 is fixed
…s/list_control.tsx Co-Authored-By: Michail Yasonik <[email protected]>
@elasticmachine merge upstream |
💚 Build SucceededHistory
To update your PR or re-run it, just comment with: |
* master: (26 commits) [Endpoint] Alert Details Overview (elastic#58412) Service map language icons (elastic#58633) [SIEM] [Case] Comments to case view (elastic#58315) Remove appBasePath from docs + add mock for AppMountParameters (elastic#58775) [kbn/optimizer] fix ui/* url rewrites in dist (elastic#58627) Dashboard a11y tests (elastic#58122) Downgrade "setting up plugin" log to debug (elastic#58776) [CI] Pipeline refactoring (elastic#56447) [Advanced Settings] Fix a11y of unsaved indicator (elastic#58511) put params into short url instead of behind it (elastic#58846) show timepicker in timelion and tsvb (elastic#58857) improve graph missing workspace error message (elastic#58876) [Maps] direct Discover "visualize" to open Maps application (elastic#58549) Disallow duplicate percentiles (elastic#57444) (elastic#58299) removing references to visTypes uiExports (elastic#58337) [SIEM] Default the Timeline events filter to show All events (elastic#58953) [Remote clusters] Add indexManagement as required plugin (elastic#58915) [DOCS] Rework of main get started page (elastic#58260) [Endpoint] [Tests] fixes elastic#57946 flaky endpoint policy list test (elastic#58348) [Endpoint] add resolver middleware (elastic#58288) ...
* adding comprehensive dashboard tests * fixing delete and adding dima changes * Fixing some of the a11y test failures * Fixing i18n issue * Extracting exit fullscreen logic in a separate function * Fixing typo * Upgrading axe * Fixing failing jest tests * Removing main tag as it was causing a test to fail * Adding focusable=false to a range control as well * Update test/accessibility/apps/dashboard.ts Co-Authored-By: Michail Yasonik <[email protected]> * Fixing linting error * Update src/legacy/core_plugins/input_control_vis/public/components/vis/list_control.tsx Co-Authored-By: Michail Yasonik <[email protected]> * Add comments Co-authored-by: Bhavya RM <[email protected]> Co-authored-by: Michail Yasonik <[email protected]> Co-authored-by: Elastic Machine <[email protected]> Co-authored-by: Bhavya RM <[email protected]> Co-authored-by: Michail Yasonik <[email protected]> Co-authored-by: Elastic Machine <[email protected]>
* master: Dashboard a11y tests (elastic#58122) Downgrade "setting up plugin" log to debug (elastic#58776) [CI] Pipeline refactoring (elastic#56447) [Advanced Settings] Fix a11y of unsaved indicator (elastic#58511) put params into short url instead of behind it (elastic#58846) show timepicker in timelion and tsvb (elastic#58857) improve graph missing workspace error message (elastic#58876)
Summary
Continuation of: #57821
Checklist
Delete any items that are not applicable to this PR.
For maintainers