dequelabs / axe-core-gems

Ruby integration for axe-core, the accessibility testing engine
https://deque.com/axe
Mozilla Public License 2.0
86 stars 29 forks source link

Can we highlight the performance impact of iframe auditing better? #94

Closed philipbjorge closed 3 years ago

philipbjorge commented 4 years ago

Hi there -- We leverage axe-matchers extensively through our rspec suite. When profiling, we noticed that each accessibility check was taking 20 seconds -- These calls ended up taking up 30-45% of our suite's total run time.

This call to find iframes waits for Capybara's default_max_wait_time which in our case was 20 seconds.

https://github.com/dequelabs/axe-matchers/blob/97dad5b952342e45f903d3b042062d4fee18e031/lib/webdriver_script_adapter/frame_adapter.rb#L52

I'm wondering if iframe auditing can be turned off by default? Or maybe it could just be called out in the docs boldly with instructions for how to disable it Axe::Configuration.from_hash(skip_iframes: true)?

Any other ideas?

jeeyyy commented 4 years ago

@philipbjorge thanks for reporting this.

We are currently undergoing a rebranding effort as detailed in the blog post here - https://www.deque.com/blog/deque-unifies-accessibility-software-under-axe/

As a part of this effort, we plan to split/ make the code a bit more modular with the ruby suite of offerings.

We plan to split the web driver wrappers to be its own gems & provide gems targeted at testing frameworks as their own gems. We will ensure that we put in some configurations to allow for disabling iframe injections, as well as do some benchmark/ profiling to see how to improve this performance. Appreciate your patience. Thanks.

jeeyyy commented 3 years ago

@philipbjorge

As mentioned above, we have completed the rebranding effort. The skip_iframes option is well documented in each of the relevant gems.

Example, see - https://github.com/dequelabs/axe-core-gems/blob/develop/packages/axe-core-selenium/README.md#axeseleniumconfigure

We do not want to turn this off by default. So leaving it as is.

Closing issue. Feel free to re-open it if need be.

philipbjorge commented 3 years ago

@jeeyyy -- Thanks for documenting that flag!