lighthouse VS axe-core

Compare lighthouse vs axe-core and see what are their differences.

axe-core

Accessibility engine for automated Web UI testing (by dequelabs)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
lighthouse axe-core
152 75
27,823 5,629
0.7% 1.6%
9.5 9.0
8 days ago 7 days ago
JavaScript JavaScript
Apache License 2.0 Mozilla Public License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

lighthouse

Posts with mentions or reviews of lighthouse. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-03.
  • Top 20 Frontend Interview Questions With Answers
    7 projects | dev.to | 3 Feb 2024
    Google Core Vitals now represent the most important metrics to focus on when it comes to technical SEO. Google Core Vitals are a set of standardized metrics that Google uses to evaluate the user experience offered by a web page and assign it a technical SEO grade. Several tools exist to measure and report technical SEO performance, but the most reliable is Google Lighthouse.
  • help needed with lighthouse ci for angular, github actions, PROTOCOL_TIMEOUT: (Method: Debugger.disable)
    3 projects | /r/devops | 15 Oct 2023
    - referred to https://github.com/GoogleChrome/lighthouse/issues/6512 but didnt see network.disable error - added staticdistdir as per https://github.com/GoogleChrome/lighthouse-ci/blob/main/docs/configuration.md,
  • Is Lighthouse a misleading performance tool?
    3 projects | dev.to | 7 Jul 2023
    There has been discussion about adding a visual indicator to make the mode more obvious, but it has not made it into Chrome devtools!
  • When connecting to the PSI api via SF what is the level of simulated network throttling used?
    1 project | /r/bigseo | 30 Mar 2023
    I haven't tried it, but you might be able to control throttling by using lighthouse to get performance data: https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md
  • 7 Proven Practices to Boost Development Speed and Project Quality
    8 projects | dev.to | 27 Mar 2023
    When we implemented the MVP of the fintech app, we had a quite complicated form. At that time, I was still young and inexperienced. And eventually, we realized that our project was slowing down. We had to spend additional hours figuring out the reason. We had many unnecessary re-renders because we ignored basic rules related to props in React. I wanted to do everything possible to avoid such situations in the future. So, I added to the project linters like this and an additional starting configuration to package.json to run why-did-you-render. In short, this plugin issues a warning if something is re-rendered unnecessarily and suggests how to avoid it. Also, we included running Lighthouse in headless mode. Some people say that premature optimizations are bad, but for me, it's a principle: do it right from the start.
  • How To Optimize Your React App’s Performance
    1 project | dev.to | 26 Mar 2023
    You can run a Lighthouse audit in two ways: either on the command line or in a browser. If you want to run audits on the command line, you will first need to install the Lighthouse command:
  • I'm a frontend devloper and looking for mentorship/guidance in architecting an application with was
    1 project | /r/aws | 1 Mar 2023
    i wanted to run the lighthouse(lh) docker container on multiple EC2 instances in different regions. I'm thinking of triggering the EC2 instance with the lambda function once the lh container has audited the URL the results will be sent "SUB rest API" which will further update the UI
  • Performance scores for Google Lighthouse/Insights seem to be very inaccurate
    3 projects | /r/webdev | 14 Feb 2023
    There's a link to what they mean by mobile network there (https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md) and it says:
  • How to store your app's entire state in the url
    17 projects | news.ycombinator.com | 9 Jan 2023
    Here's the non-psuedo code equivalent that can leverage CompressionStream rather than using a browserified-gzip-library: https://github.com/GoogleChrome/lighthouse/blob/437eb4d757c5...

    We use it in Lighthouse for the exact same purpose, a URL #hash full of state. We found that modern browsers support 10mb of data in the hash. https://github.com/GoogleChrome/lighthouse/pull/12509#discus...

  • Top 10 Tools for Core Web Vitals Monitoring
    1 project | dev.to | 24 Dec 2022
    Lighthouse: This is an open-source tool developed by Google that allows you to audit the performance of your website. You can use Lighthouse to get a detailed report on your website's Core Web Vitals, as well as other performance metrics. You can run Lighthouse in Chrome DevTools or as a command-line tool.

axe-core

Posts with mentions or reviews of axe-core. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-15.
  • ADA Compliance Made Easy: ADA Testing for Websites and Applications
    1 project | dev.to | 22 Apr 2024
    The reports often rank the issues by severity level and provide actionable solutions. Using these reports, developers can prioritize accessibility fixes and improve their products' accessibility. Popular examples of automated testing tools include Axe, WAVE, and SiteImprove. Also, most modern browsers offer built-in accessibility audits within their developer tools.
  • How to Write Accessible Technical Documentation – Best Practices with Examples
    2 projects | dev.to | 15 Apr 2024
    ‌Videos To caption videos, HTML is a great option. But if you are using markdown, you can embed videos from YouTube and Vimeo using the tag. These apps offer in-built caption support so you can enable captions before adding the embed code.

    You could also install third-party plugins for this purpose.

    Here’s another tip: avoid flashing content in your videos as it could lead to seizure triggers. If your video has flashing bright colours, ensure that it does not exceed two times within a second.

    Add transcripts to audios and videos

    It’s a good idea to add transcripts to your audio and video content. Not everyone will want to watch or listen to the content. But they may be curious to know what it is about.

    By adding a transcript, you make it easier for anyone to navigate through the content and get the information that they need.

    Transcript for audio
    For audio content, you can insert transcripts using HTML.

    Here’s an example:

     controls muted> 
       src="ringtone.mp3" type="audio/mpeg"> 
     
    
     
      

    Here is a transcription of the text

    00:03 = I am going to be productive today

    00:05 = I am going to be productive today

    00:08 = I am going to be productive today

    00:10 = I need to be productive today

    00:11 = I have to be productive today

    00:13 = I should be productive today

    00:16 = I am going to be productive today

    00:18 = I ought to be productive today

    00:21 = I have to be productive today

    00:23 = Productivity matters to me

    Enter fullscreen mode Exit fullscreen mode

    For markdown documentation sites like Docusaurus, you can create a custom component.‌

    • In your src/components folder, create a file named transcript.jsx.

    • Insert this code:

    import React, { useState } from 'react'; 
    export default function Transcript({ }) { 
      const [showTranscript, setShowTranscript] = useState(false); 
      const toggleTranscript = () => { 
        setShowTranscript(!showTranscript); 
      }; 
      return ( 
        <div> <a href="#" onClick={toggleTranscript}> { 
        showTranscript ? 'Hide transcript' : 'View transcript'
        } 
        </a> {showTranscript && ( 
    (insert your transcript text here) div> )} </div> ); }
    Enter fullscreen mode Exit fullscreen mode
    • Go to your markdown file and import it.
    import Transcript from '@site/src/components/transcript'; 
    
    
    
    Enter fullscreen mode Exit fullscreen mode

    A screenshot of the audio transcript output in a documentation site

    Note: I added some tweaks to the code to make transcript display optional. You can edit it if you want the transcript to show as the page loads.

    Transcript for video
    Now for videos, YouTube is a great option. It provides inbuilt transcripts for your videos. So, you can always embed YouTube videos in your docs.

    The transcript is in the video description after the main details. The transcript will display with the timestamps when you click the “Show Transcript” button.

    Add code snippets and use the colour contrast technique

    How to add code snippets
    Use code blocks within the text to explain code instead of images. You could also use code snippets to showcase the output of your code. Unless it is necessary to add an image, you should use code snippets.

    For instance,

    index.html

     
       
        
         
        A calculator app 
         
        
        
        
      
    
    Enter fullscreen mode Exit fullscreen mode

    This will allow screen readers to read through the code, which they are not able to do with screenshots.

    A screenshot of the above code

    Colour contrast technique
    The colour contrast technique implies using colours that are opposite or heavily contrasting.

    For example, using black text on a white background has a high contrast, as opposed to using light brown text on a brown background.

    When combining colours, you could use an accessible colour palette like Color Safe.‌

    Using a pale white colour on a green background gotten from Color Safe

    Add translation options

    There are documentation sites that provide translation options where you can build your docs in multiple languages, websites like Jekyll. This is an example.

    Docusaurus is also another doc site that provides multilingual options using Crowdin or Git.

    • Follow through this guide to set up translation and localization on Docusaurus using Git.

    • Follow through this guide to set up translation and localization on Docusaurus using Crowdin.‌

    Use accessibility testing tools

    There are tools you can use to check for errors in accessibility in your docs. Some examples are WAVE (Web Accessibility Evaluation Tool) and AXE (Accessibility Engine).

    Also, you can get the NVDA(NonVisual Desktop Access) screen reader to test out your content. This software will let you know how the content of your documentation will be perceived by a user using a screen reader.‌

    Set up an improvement or suggestion box

    Finally, it may not be possible to cover the needs of every user. So you could add a suggestion or improvement box, allowing users to send feedback about how you could further improve the content. Hearing firsthand from users can help you know how best to make the docs accessible for them.

    To add an improvement box, you could use an external form link that stores the users’ inputs or you could set up the suggestion box in the docs.

    How to add an external form link in Docusaurus

    You would need to create a custom component for that.

    • Go to src/components folder and create a file feedback.jsx.

    • Add this code:

    import React from 'react'; 
    
    export default function FeedbackButton({ href }) {
      return ( <a href={href} target="_blank" rel="noopener noreferrer" > Give Feedback </a> ); 
    }; 
    
    Enter fullscreen mode Exit fullscreen mode
    • In your markdown file import it:
    import FeedbackButton from '@site/src/components/feedbackbutton';
    
    Enter fullscreen mode Exit fullscreen mode
    • Insert the link
     
    
    Enter fullscreen mode Exit fullscreen mode

    When you run it on your docs, it should showcase a link to Google forms. Google Forms is an example, you could add the link to your company website or server.

    Here’s what it’ll look like:

    A feedback link for suggestion in a docs site

    Summary

    To follow and implement these accessibility best practices, you can consider creating or using an already made style guide. This can help you consistently implement these practices and make it easier for you and other technical writers on your team.

    There are style guides focused on accessibility for technical writers, such as the following:

    • Accessibility style guide by Heyawhite

    • Write accessible documentation by Google for developers

    • Writing for Accessibility by MailChimp content style guide

    That sums up my tips about web accessibility practices in writing. I’m a technical writer, and you can reach out to me on Instagram or hire me via Upwork. Thank you for reading.‌

  • Responsive design and cross-device testing
    1 project | dev.to | 27 Feb 2024
    To measure or rather estimate accessibility, we can use automated audits like WAVE, axe and the accessibility report in Lighthouse or PageSpeed Insights to ensure that we don't violate essential Web Content Accessibility Guidelines (WCAG)
  • Deque Systems Sues BrowserStack for Intellectual Property Theft
    1 project | news.ycombinator.com | 14 Feb 2024
    axe-core licensed via MPL 2.0: https://github.com/dequelabs/axe-core

    Here is the BrowserStack extension:

  • 🌟 #DEVImpact2023: A Year of Challenges, Triumphs, and The Future
    2 projects | dev.to | 28 Dec 2023
    [ ] Checked with axe DevTools and addressed Critical and Serious issues?
  • First time diving into Accessibility
    1 project | /r/ExperiencedDevs | 10 Nov 2023
    axe-core - To detect violations on page level.
  • Accessibility, SustyWeb, SDGs, and upcoming European Legislation in 2024/2025 🇪🇺⚖️
    2 projects | dev.to | 6 Nov 2023
    Like auditing WCAG compliance with accessibility tools like axe and WAVE, it has become much easier to measure and provide data about the ecological impact of web development, but there are still a lot of unknown figures.
  • React-ing to accessibility: Building accessible e-commerce forms that everyone can use
    4 projects | dev.to | 20 Jul 2023
    Axe is a set of tools created by Deque, to provide a solution for a testing library. To use Axe, one of the possible ways is to install Axe DevTools, which is a browser extension that provides you with a way to test your applications for accessibility issues. To start testing for accessibility using Axe DevTools, you just open the browser's Developer Tools, navigate to the Axe DevTools tab, and run an analysis on your desired webpage;
  • Como adicionar recursos de acessibilidade em um site?
    2 projects | /r/brdev | 12 May 2023
  • Is siteimprove legit?
    2 projects | /r/accessibility | 4 May 2023

What are some alternatives?

When comparing lighthouse and axe-core you can also consider the following projects:

unlighthouse - Scan your entire site with Google Lighthouse in 2 minutes (on average). Open source, fully configurable with minimal setup.

Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

webpack-bundle-analyzer - Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap

pa11y-ci - Pa11y CI is a CI-centric accessibility test runner, built using Pa11y

Vue Storefront - Alokai is a Frontend as a Service solution that simplifies composable commerce. It connects all the technologies needed to build and deploy fast & scalable ecommerce frontends. It guides merchants to deliver exceptional customer experiences quickly and easily.

pa11y - Pa11y is your automated accessibility testing pal

Turbolinks - Turbolinks makes navigating your web application faster

CodeceptJS - Supercharged End 2 End Testing Framework for NodeJS

lighthouse-ci - Automate running Lighthouse for every commit, viewing the changes, and preventing regressions

jest - Delightful JavaScript Testing.

budibase - Budibase is an open-source low code platform that helps you build internal tools in minutes 🚀

TestCafe - A Node.js tool to automate end-to-end web testing.