Research · Dashboard
Checkout Barrier Index
The crawl's results as a dashboard: how many accessibility rules each store fails, whether a keyboard alone reaches add to cart, and which failures are most common.
Read the write-up and its limits. Measured Nov 8, 2026, 10:07 PM UTC, build 0406ebe. Read from the results file the analysis script writes; nothing is typed in by hand.
How it was measured
- Read-only
- No add-to-cart clicks, no forms, no accounts. robots.txt is honoured and each store gets one page every five seconds.
- Failures
- Distinct automated accessibility rules (WCAG A and AA) failed on a page. Automated checks catch only part of WCAG, so real barriers are more.
- Keyboard reach
- Tab only, from the top of the product page, up to 150 presses. Pages where a dialog held focus or a size must be chosen first are left out.
- Stores
- Named only by a hash of their domain and grouped by platform. Per-platform groups are small, so treat them as indicative.
The figures
As of Nov 8, 2026, 10:07 PM UTC
- Stores crawled
- 6060 of 100 sampled stores had a product page audited. 24 stores refused the crawler and are left out.
- Median failures per product page
- 4Distinct automated accessibility rules failed. Highest platform median: Magento / Adobe Commerce, 5.5.
- Add to cart reachable by keyboard
- 91%30 of 33 stores where the walk could be judged, using Tab only.
- Stores with an unnamed button
- 35%21 of 60 stores. A screen reader says only "button" for these.
- Most common failing rule
- color-contrastElements must meet minimum color contrast ratio thresholds. Found on 36 stores.
60 stores · 6 platforms · 10 rules
Checkout Barrier Index
An AG Studio dashboard for sighted readers. Every number on it is also on the ticket above and in the write-up.
Loading the dashboard…
The charts and grids as tables
Data for Failures by platform
| Store platform | Product page | Home page |
|---|---|---|
| BigCommerce | 4.5 | 4 |
| Custom or other | 3 | 2 |
| Magento / Adobe Commerce | 5.5 | 5 |
| Salesforce Commerce Cloud | 3 | 4 |
| Shopify | 3.5 | 2.5 |
| WooCommerce | 4 | 3.5 |
Data for Keyboard walk to add to cart
| What happened | Stores |
|---|---|
| Not tested | 40 |
| Reached add to cart | 30 |
| A dialog held focus | 12 |
| No add-to-cart button found | 8 |
| Needs a size first | 7 |
| Could not reach add to cart | 3 |
Data for Top failing rules
| Rule | Stores failing |
|---|---|
| color-contrast | 36 |
| target-size | 36 |
| link-name | 35 |
| button-name | 20 |
| image-alt | 15 |
| nested-interactive | 14 |
| listitem | 13 |
| list | 12 |
| meta-viewport | 12 |
| aria-required-children | 10 |
Data for What each rule checks
| Rule | What it checks | Stores failing | Failing elements |
|---|---|---|---|
| color-contrast | Elements must meet minimum color contrast ratio thresholds | 36 | 697 |
| target-size | All touch targets must be 24px large, or leave sufficient space | 36 | 480 |
| link-name | Links must have discernible text | 35 | 565 |
| button-name | Buttons must have discernible text | 20 | 131 |
| image-alt | Images must have alternative text | 15 | 53 |
| nested-interactive | Interactive controls must not be nested | 14 | 137 |
| listitem | <li> elements must be contained in a <ul> or <ol> | 13 | 230 |
| list | <ul> and <ol> must only directly contain <li>, <script> or <template> elements | 12 | 78 |
| meta-viewport | Zooming and scaling must not be disabled | 12 | 28 |
| aria-required-children | Certain ARIA roles must contain particular children | 10 | 34 |
Data for Stores
| Store | Platform | Product page failures | Home page failures | Keyboard walk | Tabs to add to cart |
|---|---|---|---|---|---|
| 07980bc10f8b | BigCommerce | 3 | 3 | Reached add to cart | 52 |
| 507d12624623 | BigCommerce | 6 | 4 | Reached add to cart | 53 |
| 844c5529ddd4 | BigCommerce | 1 | 1 | No add-to-cart button found | Not reached |
| 8ce539f90043 | BigCommerce | 5 | 4 | Reached add to cart | 22 |
| 9b41cbf69581 | BigCommerce | 7 | 4 | Reached add to cart | 39 |
| a6c8d7a44b0b | BigCommerce | 6 | 4 | Needs a size first | Not reached |
| c42fe745a275 | BigCommerce | 0 | 1 | A dialog held focus | Not reached |
| cf1ccb3dd458 | BigCommerce | 4 | 4 | A dialog held focus | Not reached |
| 14a2ec7c4f46 | Custom or other | 1 | 1 | A dialog held focus | Not reached |
| 244663b615bd | Custom or other | 3 | 2 | Reached add to cart | 42 |
| 26d32c7ba1b0 | Custom or other | 13 | 4 | Reached add to cart | 41 |
| 465a09c32493 | Custom or other | 3 | 2 | Needs a size first | Not reached |
| 48f614646d79 | Custom or other | 8 | 7 | A dialog held focus | Not reached |
| 607862e936f7 | Custom or other | 9 | 9 | Reached add to cart | 46 |
| 96305bd38ada | Custom or other | 5 | 2 | A dialog held focus | Not reached |
| aec2eed1b73b | Custom or other | 2 | 2 | Reached add to cart | 15 |
| b0a60e13f5f4 | Custom or other | 3 | 2 | Reached add to cart | 12 |
| e1f3f593dc5c | Custom or other | 1 | 1 | A dialog held focus | Not reached |
| f47799b79009 | Custom or other | 0 | 0 | Reached add to cart | 16 |
| 42348c8a628d | Magento / Adobe Commerce | 6 | 8 | Needs a size first | Not reached |
| 9f7dd036f088 | Magento / Adobe Commerce | 1 | 1 | A dialog held focus | Not reached |
| db442a46ed37 | Magento / Adobe Commerce | 5 | 5 | Reached add to cart | 34 |
| ee8b969004a4 | Magento / Adobe Commerce | 9 | 5 | Could not reach add to cart | Not reached |
| 0329f8a5ad82 | Salesforce Commerce Cloud | 2 | 2 | A dialog held focus | Not reached |
| 1be984a1e2cc | Salesforce Commerce Cloud | 6 | 5 | Reached add to cart | 50 |
| 27298c92e94f | Salesforce Commerce Cloud | 2 | 5 | Reached add to cart | 54 |
| 3bc16172611e | Salesforce Commerce Cloud | 3 | 1 | Needs a size first | Not reached |
| 4f2e3bf67e1b | Salesforce Commerce Cloud | 1 | 4 | Reached add to cart | 31 |
| 640d6139f957 | Salesforce Commerce Cloud | 8 | 6 | A dialog held focus | Not reached |
| 77bb1253b448 | Salesforce Commerce Cloud | 4 | 4 | Reached add to cart | 49 |
| 83917fbb426c | Salesforce Commerce Cloud | 5 | 4 | A dialog held focus | Not reached |
| 90095c84696c | Salesforce Commerce Cloud | 2 | 1 | Needs a size first | Not reached |
| dee2c1ea86c2 | Salesforce Commerce Cloud | 8 | 5 | Could not reach add to cart | Not reached |
| e73178797924 | Salesforce Commerce Cloud | 1 | 1 | Reached add to cart | 23 |
| 027c68099276 | Shopify | 2 | 1 | A dialog held focus | Not reached |
| 07c78c4628ee | Shopify | 2 | 1 | Reached add to cart | 138 |
| 0dce386c31d4 | Shopify | 2 | 2 | No add-to-cart button found | Not reached |
| 10ad95e312e4 | Shopify | 2 | 3 | Reached add to cart | 35 |
| 17b832d2d7b3 | Shopify | 5 | 0 | Reached add to cart | 25 |
| 2d107b753d67 | Shopify | 4 | 4 | Reached add to cart | 48 |
| 62badbc8be1d | Shopify | 4 | 2 | Needs a size first | Not reached |
| 6ff39f392221 | Shopify | 3 | 4 | Reached add to cart | 38 |
| 7a712671edc8 | Shopify | 8 | 7 | Reached add to cart | 56 |
| ace97b38ac0f | Shopify | 12 | 11 | Reached add to cart | 77 |
| aff9b05ef7ce | Shopify | 0 | 0 | Reached add to cart | 92 |
| be18217f5a3d | Shopify | 0 | 0 | No add-to-cart button found | Not reached |
| c53c56e30654 | Shopify | 4 | 3 | No add-to-cart button found | Not reached |
| c9bd51360322 | Shopify | 6 | 5 | Could not reach add to cart | Not reached |
| ce0679dfb79f | Shopify | 0 | 2 | No add-to-cart button found | Not reached |
| de72f8d39b6a | Shopify | 2 | 0 | Reached add to cart | 82 |
| f69c1b097ed9 | Shopify | 4 | 3 | Needs a size first | Not reached |
| f83fc9d2e1d4 | Shopify | 1 | 0 | A dialog held focus | Not reached |
| fd7ee6fd3f75 | Shopify | 5 | 4 | No add-to-cart button found | Not reached |
| ff39ae9d7fe8 | Shopify | 5 | 5 | Reached add to cart | 24 |
| 01a6073516f8 | WooCommerce | 8 | 5 | Reached add to cart | 31 |
| 2265e9de2b4f | WooCommerce | 4 | 5 | No add-to-cart button found | Not reached |
| 7c07fb019ca8 | WooCommerce | 4 | 4 | Reached add to cart | 22 |
| 843ecb7b7235 | WooCommerce | 3 | 3 | No add-to-cart button found | Not reached |
| b6ebae2bf601 | WooCommerce | 9 | 7 | Reached add to cart | 33 |
| e6048d97f38d | WooCommerce | 3 | 3 | Reached add to cart | 8 |