Lighthouse: Webapp Audit Tool
Lighthouse is an open-source, automated tool for improving the quality of your web apps. Lighthouse analyzes web apps & sites, collecting modern performance metrics and insights on best practices.
Lighthouse can be run as a Chrome Extension, from the command line, or used programmatically as a Node module. You give Lighthouse a URL that you want to audit, it runs a barrage of tests against the page, and then it generates a report on how well the page did. From here you can use the failing tests as indicators on what you can do to improve your app.
Here are the audit references it runs:
- Background and Foreground Colors Have Sufficient Contrast Ratio
- Cache Contains start_url From Manifest
- Content Sized Correctly for Viewport
- Critical Request Chains
- Element ARIA Attributes Are Allowed For This Role
- Element ARIA Attributes Are Valid
- Element ARIA Attributes Have Valid Values
- Elements With ARIA Roles Have Required Attributes
- Estimated Input Latency
- Every Form Element Has A Label
- Every Image Has An Alt Attribute
- First Meaningful Paint
- Has a Registered Service Worker
- HTML Has Viewport Meta Tag
- Manifest Contains Icons at Least 192px
- Manifest Contains Background Color
- Manifest Contains Name
- Manifest Contains Short Name
- Manifest Contains Start URL
- Manifest Contains Theme Color
- Manifest Exists
- Manifest’s Display Property Is Set
- Manifest’s Short Name Won’t Be Truncated
- No Element Has A Tabindex Attribute Greater Than Zero
- Page Contains Some Content When Its Scripts Are Not Available
- Page Does Not Automatically Request Geolocation On Page Load
- Page Does Not Automatically Request Notfication Permissions On Page Load
- Site Does Not Use Application Cache
- Site Does Not Use console.time()
- Site Does Not Use Resources That Delay First Paint
- Site Does Not Use Date.now()
- Site Does Not Use document.write()
- Site Does Not Use Mutation Events
- Site Does Not Use The Old CSS Flexbox
- Site Does Not Use Web SQL
- Site Is On HTTPS
- Site Opens External Anchors Using rel=”noopener”
- Site Redirects HTTP Traffic to HTTPS
- Site Uses HTTP/2
- Site Uses Passive Event Listeners
- Speed Index
- Time to Interactive
- URL Responds with a 200 When Offline
- User Timing Marks and Measures
“Practice without improvement is meaningless.”
-Chuck Knox
-Chuck Knox