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

Enterprise search needs a11y tests #79359

Open
bhavyarm opened this issue Oct 2, 2020 · 10 comments
Open

Enterprise search needs a11y tests #79359

bhavyarm opened this issue Oct 2, 2020 · 10 comments

Comments

@bhavyarm
Copy link
Contributor

bhavyarm commented Oct 2, 2020

Please add a11y tests to Enterprise search UI in Kibana - for overview page, app search and workplace search.
Here are the documents which explain a11y testing - https://www.elastic.co/guide/en/kibana/master/development-tests.html#development-accessibility-tests

Here is the meta issue where you can find other test PRs: #51456

Please get in touch with @myasonik or @bhavyarm if you have questions about these tests.

@elasticmachine
Copy link
Contributor

Pinging @elastic/app-search-frontend (Team:AppSearch)

@cee-chen
Copy link
Contributor

cee-chen commented Oct 3, 2020

Thanks @bhavyarm! We can definitely add accessibility tests for the following plugins/pages:

  • Overview plugin with all product cards showing
  • Setup Guide for both App Search & Workplace Search

... But unfortunately, I'm not sure we can (easily) add accessibility tests deeper into the products (which at the moment isn't a whole lot, so it's not a huge deal, but might be later on).

The problem is that our plugin requires Enterprise Search to run, and as far as we know (or were intending on implementing), Kibana's CI pipeline can't spin it up as a sidecar service.

I'm not too sure how in-depth these aXe reports/screenshots are compared to the E2E functional tests - if they're straightforward, it's possible we could somehow feed mock API endpoint data to the plugin, but that's still a pretty high lift for us right now when our focus is on fully migrating 2 products to Kibana by 8.0.

If basic a11y tests for just the above 3 pages (that don't require Enterprise Search to be configured/running) are OK for now, I can definitely look at implementing them, and circle back later after our full migration to more in-depth tests.

@myasonik
Copy link
Contributor

myasonik commented Oct 5, 2020

If basic a11y tests for just the above 3 pages (that don't require Enterprise Search to be configured/running) are OK for now, I can definitely look at implementing them, and circle back later after our full migration to more in-depth tests.

With the constraints you laid out, this sounds like a great place to start!

@cee-chen
Copy link
Contributor

cee-chen commented Oct 5, 2020

Awesome!! Thanks so much Michail. Accessibility requirements are definitely important to me personally, but as always it's a tough balancing act w/ our deadlines as well as figuring out what tooling makes the most sense long-term for running our functional/E2E tests. For what it's worth I'm trying to manually audit as much as code as I can accessibility-wise as we migrate it to Kibana.

I'll create a ticket in our migration epic for this and shoot to have the 3 pages listed above in Kibana CI by 7.11

@bhavyarm bhavyarm added the loe:small Small Level of Effort label Oct 8, 2020
@cee-chen
Copy link
Contributor

👋 Apologies this took so dang long y'all :) I have a11y tests added for the scope we mentioned above (i.e., a very small portion of the actual full app): #106765

I'm honestly not super sure if that counts as closing/completing this ticket or if you would consider this completed only if the full app gets tested. This might be complex as we were planning on writing our E2E tests in Cypress, and not necessarily Kibana's FTR. Would using an equivalent a11y plugin in Cypress pass your requirements for having full a11y tests?

@myasonik
Copy link
Contributor

No worries! Your work is awesome!

Deque, the makers of axe, have written about setting up axe with cypress so you should be in good company.

There aren't strict requirements on how to test so whatever works for y'all will be good. This is ultimately your ticket so feel free to track however is best for your team.

@elasticmachine
Copy link
Contributor

Pinging @elastic/workplace-search-frontend (Team:WorkplaceSearch)

@byronhulcher
Copy link
Contributor

I agree if we could test for this in Cypress it would make a lot more sense (since we'll have to solve the "how do we run this in a test harness" problem for Cypress).

I'm honestly not super sure if that counts as closing/completing this ticket

I like what you did in #106765 @constancecchen. I think as much as much as its a bummer we should consider leaving this open until we implement this in Cypress (or solve the mock API problem in FTR). I think having a11y tests on our light manual testing / critical path pages (and components?) would be a good compromise requirement? We could prioritize the remaining views/components after that.

@cee-chen
Copy link
Contributor

Love it. Huge ++!

@cee-chen
Copy link
Contributor

cee-chen commented Aug 16, 2021

👋 Hey @elastic/app-search-frontend & @elastic/workplace-search-backend!

#108465 (once merged in) should set up the ability to automate cypress-axe checks on any views you need. I would suggest setting up basic "visit route, run checkA11y()" type tests for both AS & WS and then optionally get more complex from there if needed (e.g., for pages with flyouts - open the flyouts and then run checkA11y() again, scoped to the flyout).

It hopefully shouldn't be super high-effort, I imagine this wouldn't take more than a few days for a single dev for each product (given that there aren't a bunch of existing failures to fix, knock on wood).

All the best!

wayneseymour added a commit to wayneseymour/kibana that referenced this issue Oct 11, 2024
Contributes to: elastic#194817

Why I assigned them:

Assigned advanced_settings due to elastic#175255

Assigned dashboard_controls due to elastic#190797

Assigned dashboard_links due to elastic#174772

Assigned dashboard_panel_options due to elastic#178596

Assigned grok_debugger due to https://github.com/elastic/kibana/blob/main/x-pack/plugins/grokdebugger/kibana.jsonc#L4

Assigned helpers due to elastic#164341 (call site)

Assigned home due to elastic#103192

Assigned index_lifecycle_management due to elastic#116207

Assigned ingest_node_pipelines due to elastic#113783

Assigned kibana_overview due to  https://github.com/elastic/kibana/blob/f00ac7a8a21463e6bb4a2784c3a3884f36c62900/x-pack/plugins/grokdebugger/kibana.jsonc#L4

Assigned management due to elastic#165705

Assigned painless_lab due to https://github.com/elastic/kibana/blob/main/x-pack/plugins/painless_lab/kibana.jsonc#L4

Assigned search_profiler due to elastic#195343

Assigned uptime due to https://github.com/elastic/kibana/blob/main/x-pack/plugins/observability_solution/uptime/kibana.jsonc#L4

Assigned lens due to elastic#175893

Assigned ml_anomaly_detection due to elastic#162126

Assigned canvas due to elastic#164376

Assigned cc replication due to elastic#149069

Assigned enterpise search due to elastic#79359

Assigned graph to due elastic#190797

Assigned license_management due to https://github.com/elastic/kibana/blob/main/x-pack/plugins/license_management/kibana.jsonc#L4

Assigned maps due to elastic#155161

Assigned observability due to https://github.com/elastic/kibana/blob/main/x-pack/plugins/observability_solution/observability/kibana.jsonc#L4

Assigned remote clusters due to elastic#96989

Assigned reporting due to elastic#121435

Assigned rollup_jobs due to https://github.com/elastic/kibana/blob/d57bc9a5d7d64f86b550eff7997605a3090aee9a/x-pack/plugins/rollup/kibana.jsonc#L4

Assigned watcher due to elastic#119717
wayneseymour added a commit that referenced this issue Oct 22, 2024
## Summary

Assign files within `x-pack/test/accessibility/apps/group[1|2|3]`

### Why I assigned them:

Assigned advanced_settings due to
#175255

Assigned dashboard_controls due to
#190797

Assigned dashboard_links due to
#174772

Assigned dashboard_panel_options due to
#178596

Assigned grok_debugger due to
https://github.com/elastic/kibana/blob/main/x-pack/plugins/grokdebugger/kibana.jsonc#L4

Assigned helpers due to #164341
(call site)

Assigned home due to #103192

Assigned index_lifecycle_management due to
#116207

Assigned ingest_node_pipelines due to
#113783

Assigned kibana_overview due to
https://github.com/elastic/kibana/blob/f00ac7a8a21463e6bb4a2784c3a3884f36c62900/x-pack/plugins/grokdebugger/kibana.jsonc#L4

Assigned management due to #165705

Assigned painless_lab due to
https://github.com/elastic/kibana/blob/main/x-pack/plugins/painless_lab/kibana.jsonc#L4

Assigned search_profiler due to
#195343

Assigned uptime due to
https://github.com/elastic/kibana/blob/main/x-pack/plugins/observability_solution/uptime/kibana.jsonc#L4

Assigned lens due to #175893

Assigned ml_anomaly_detection due to
#162126

Assigned canvas due to #164376

Assigned cc replication due to
#149069

Assigned enterpise search due to
#79359

Assigned graph to due #190797

Assigned license_management due to
https://github.com/elastic/kibana/blob/main/x-pack/plugins/license_management/kibana.jsonc#L4

Assigned maps due to #155161

Assigned observability due to
https://github.com/elastic/kibana/blob/main/x-pack/plugins/observability_solution/observability/kibana.jsonc#L4

Assigned remote clusters due to
#96989

Assigned reporting due to #121435

Assigned rollup_jobs due to
https://github.com/elastic/kibana/blob/d57bc9a5d7d64f86b550eff7997605a3090aee9a/x-pack/plugins/rollup/kibana.jsonc#L4

Assigned watcher due to #119717


Contributes to: #194817

---------

Co-authored-by: kibanamachine <[email protected]>
Co-authored-by: Elastic Machine <[email protected]>
Co-authored-by: Rodney Norris <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants