Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.FLink & Button QualityAction16 issue(s) across 378 links and 58 buttonsFIX
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| /us/en/hardware/handheld | Handheld | img no alt | Add alt attribute to the image |
| /us/en/hardware/terminal | Terminal | img no alt | Add alt attribute to the image |
| /us/en/hardware/register | Register | img no alt | Add alt attribute to the image |
| /us/en/hardware/stand | Stand | img no alt | Add alt attribute to the image |
| /us/en/hardware/kiosk | Kiosk | img no alt | Add alt attribute to the image |
| /us/en/hardware/contactless-chip-reader | Reader for contactless and chi… | img no alt | Add alt attribute to the image |
| /us/en/hardware/reader | Reader for magstripe | img no alt | Add alt attribute to the image |
| /shop/hardware/v2/us/en/products/accesso… | Accessories | img no alt | Add alt attribute to the image |
| /shop/hardware/us/en/pos-kits | Kits | img no alt | Add alt attribute to the image |
| /us/en/hardware | All hardware | img no alt | Add alt attribute to the image |
| https://developer.squareup.com/us/en | Developers APIs | new tab | Add '(opens in new tab)' to text |
| /us/en/app-marketplace | App marketplace | new tab | Add '(opens in new tab)' to text |
| /us/en/hardware/handheld | Handheld | img no alt | Add alt attribute to the image |
| /us/en/hardware/terminal | Terminal | img no alt | Add alt attribute to the image |
| /us/en/hardware/register | Register | img no alt | Add alt attribute to the image |
| /us/en/hardware/stand | Stand | img no alt | Add alt attribute to the image |
| /us/en/hardware/kiosk | Kiosk | img no alt | Add alt attribute to the image |
| /us/en/hardware/contactless-chip-reader | Reader for contactless and chi… | img no alt | Add alt attribute to the image |
| /us/en/hardware/reader | Reader for magstripe | img no alt | Add alt attribute to the image |
| /shop/hardware/v2/us/en/products/accesso… | Accessories | img no alt | Add alt attribute to the image |
| /shop/hardware/us/en/pos-kits | Kits | img no alt | Add alt attribute to the image |
| /us/en/hardware | All hardware | img no alt | Add alt attribute to the image |
| https://developer.squareup.com/us/en | Developers APIs | new tab | Add '(opens in new tab)' to text |
| /us/en/app-marketplace | App marketplace | new tab | Add '(opens in new tab)' to text |
| (empty) | empty | Add link text or aria-label | |
| https://chrome.com | Google Chrome | new tab | Add '(opens in new tab)' to text |
| https://firefox.com | Mozilla Firefox | new tab | Add '(opens in new tab)' to text |
| https://microsoftedge.com | Microsoft Edge | new tab | Add '(opens in new tab)' to text |
| /us/en/hardware/register | (empty) | empty | Add link text or aria-label |
| /us/en/hardware/handheld | (empty) | empty | Add link text or aria-label |
| /us/en/hardware/terminal | (empty) | empty | Add link text or aria-label |
| /us/en/hardware/stand | (empty) | empty | Add link text or aria-label |
| /us/en/hardware/contactless-chip-reader | (empty) | empty | Add link text or aria-label |
| /us/en/restaurants | (empty) | empty | Add link text or aria-label |
| /us/en/restaurants | (empty) | empty | Add link text or aria-label |
| /us/en/retail | (empty) | empty | Add link text or aria-label |
| /us/en/retail | (empty) | empty | Add link text or aria-label |
| /us/en/beauty | (empty) | empty | Add link text or aria-label |
| /us/en/beauty | (empty) | empty | Add link text or aria-label |
| /us/en/services | (empty) | empty | Add link text or aria-label |
| /us/en/services | (empty) | empty | Add link text or aria-label |
| https://squareup.com/us/en/legal/general… | Privacy Policy | new tab | Add '(opens in new tab)' to text |
| https://squareup.com/us/en/legal/general… | Privacy Policy | new tab | Add '(opens in new tab)' to text |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
Links without text are announced as raw URLs by screen readers.
; /us/en/hardware/register; /us/en/hardware/handheld; /us/en/hardware/terminal; /us/en/hardware/stand; /us/en/hardware/contactless-chip-reader; /us/en/restaurants; /us/en/restaurants; /us/en/retail; /us/en/retail (+4 more)
Links with no accessible text (empty <a></a>, image-only no alt, icon-only no aria-label) are unidentifiable to screen readers.
Source: WCAG 2.1 SC 2.4.4
Add '(opens in new tab)' to link text or aria-label.
https://developer.squareup.com/us/en; /us/en/app-marketplace; https://developer.squareup.com/us/en; /us/en/app-marketplace; https://chrome.com; https://firefox.com; https://microsoftedge.com; https://squareup.com/us/en/legal/general/privacy; https://squareup.com/us/en/legal/general/privacy
Links with target="_blank" without rel="noopener" leak the originating page's window context — security and UX issue.
Learn more ▾ ▴
Without rel="noopener", the new tab can navigate the original tab via window.opener (tab-nabbing attack). Modern browsers default to noopener for target=_blank but only since recent versions. Always set rel="noopener noreferrer" explicitly.
Source: MDN target / OWASP
F404 Error PageActionHTTP 404, bare pageFIX
FFavicon & BrandingAction2 icon(s) detectedFIX
DWeb ManifestActionNot foundFIX
No web manifest found.
DDark Mode SupportActionNo dark mode signalsFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
CHeading HierarchyAction27 headings, 1 skip(s)REVIEW
- H4 (empty)
- H4 Please update your browser.
- H1 Local legend or global icon. Make it big on your block.
- H2 Whatever your flavor of business, build and grow on your terms.
- H2 Smooth checkout, every time
- H2 See your whole business click into place
- H2 See your whole business click into place
- H2 Keep your business growing
- H2 Make smart decisions, fast
- H2 Run your entire business with one plan
- H2 (empty)
- H2 (empty)
- H2 (empty)
- H2 Make your next move
- H2 Get the latest updates from Square
- H2 Nice to meet you.
- H6 Products skipped
- H6 Products
- H6 Business Types
- H6 Business Types
- H6 Resources
- H6 Resources
- H6 Contact
- H6 Contact
- H6 Square
- H6 Square
- H4 Choose your region and language
Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.
Skipping heading levels breaks the document outline — screen-reader users lose track of section nesting.
Learn more ▾ ▴
Screen reader users navigate by jumping between headings (H1 → H2 → H3). Skipping (H1 → H3) breaks the sense of hierarchy. Use sequential levels even if you don't like the default styling — restyle with CSS instead. WCAG 1.3.1 (Info and Relationships) treats this as an A failure.
Source: WCAG 2.1 SC 1.3.1 / W3C WAI
Empty headings appear in the document outline but provide no information.
Empty <hN> tags break the document outline — screen-reader users navigating by heading hit dead silence.
Source: WCAG 2.4.6
BForm Accessibility2 of 7 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| #FirstName | text | First name | for/id |
| #LastName | text | Last name | for/id |
| #Phone | tel | Phone | for/id |
| #Company | text | Business name | for/id |
| Email_Opt_Out__c | checkbox | none | |
| text | (Email address) | placeholder only | |
| query | input | (Search squareup.com) | placeholder only |
Placeholder text disappears on focus and is not a reliable label.
<input name="query">; <input type="text" name="Email" id="Email">
Placeholder-only labels disappear when the user starts typing — they must remember what the field was for.
Learn more ▾ ▴
Placeholders are NOT labels. They vanish on input, fail color contrast checks (most are gray), and don't satisfy WCAG SC 3.3.2. Always use a real <label> alongside (or aria-labelledby).
Source: WCAG 2.1 SC 3.3.2 / Nielsen Norman
CColor Contrast (Screenshot)Action20 text elements analyzed, 20 fail WCAG AAREVIEW
Analyzes text contrast against the actual rendered page, including background images, gradients, and overlays that CSS-based tools cannot detect.
Show all checked elements (20)
| Element | Ratio | Required | FG | BG | Result |
|---|---|---|---|---|---|
| h2 Whatever your flavor… | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 Smooth checkout, eve… | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 See your whole busin… | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 See your whole busin… | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 Keep your business g… | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 Make smart decisions… | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 Run your entire busi… | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 Make your next move | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 Get the latest updat… | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| h2 Nice to meet you. | 1.95:1 | 3.0:1 | #000000 | #463A46 | Fail |
| title Power your entire bu… | 1.05:1 | 4.5:1 | #000000 | #0A0808 | Fail |
| a Skip to Content | 1.20:1 | 4.5:1 | #000000 | #1E190D | Fail |
| span Square | 2.16:1 | 4.5:1 | #000000 | #4B4429 | Fail |
| span Business types | 2.13:1 | 4.5:1 | #000000 | #37473B | Fail |
| span Food & Beverage | 2.26:1 | 4.5:1 | #000000 | #46483E | Fail |
| span Discover | 1.58:1 | 4.5:1 | #000000 | #342F29 | Fail |
| span Overview | 1.81:1 | 4.5:1 | #000000 | #383A2F | Fail |
| span Switch to Square | 1.93:1 | 4.5:1 | #000000 | #3B3E38 | Fail |
| span Coffee shops | 1.80:1 | 4.5:1 | #000000 | #2E3C2E | Fail |
| span Quick service | 2.05:1 | 4.5:1 | #000000 | #404237 | Fail |
Methodology: The top 20 text elements by font size were checked. Background color was sampled from the desktop screenshot using a 5-point pattern. WCAG 2.1 AA requires 4.5:1 for normal text and 3:1 for large text.
ALandmark Structure24 landmarksPASS
Multiple navigations need aria-label to distinguish them for screen readers.
Some <nav> elements lack aria-label — screen-reader users hear 'navigation' multiple times with no way to distinguish them.
Learn more ▾ ▴
When a page has multiple <nav> regions (primary, footer, breadcrumb), each needs aria-label or aria-labelledby. AT users navigate by landmark; identical 'navigation' announcements force them to enter each one to discover purpose.
Source: WAI-ARIA Authoring Practices
A+Alt Text QualityAll 94 images OKPASS
ALighthouse Accessibility AuditsScore 92/100 — 3 failing, 27 passedPASS
Accessibility
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.
ARIA
Using ARIA attributes in roles where they are prohibited can mean that important information is not communicated to users of assistive technologies. Learn more about prohibited ARIA roles.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
HARDWARE div.Layout > div.Layout > div.TextStack__title > span.Text |
Carousel slides section.HardwareCarousel > div.HardwareCarousel__container > div.HardwareCarousel__wrapper > div.HardwareCarousel__track |
POINT OF SALE div.Layout > div.Layout > div.TextStack__title > span.Text |
BUILT FOR EVERY INDUSTRY div.Layout > div.Layout > div.TextStack__title > span.Text |
SQUARE AI div.Layout > div.Layout > div.TextStack__title > span.Text |
PRICING div.Layout > div.Layout > div.TextStack__title > span.Text |
These are opportunities to improve the usage of ARIA in your application which may enhance the experience for users of assistive technology, like a screen reader.
Contrast
Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Smooth div.TextStack__title > h2.Text > div.line > div.word |
checkout, div.TextStack__title > h2.Text > div.line > div.word |
every div.TextStack__title > h2.Text > div.line > div.word |
time div.TextStack__title > h2.Text > div.line > div.word |
Choose from a range of sleek options for however you do business. All equally e… div.Layout > div.Text > div.RichTextFieldComponent > p |
See div.TextStack__title > h2.Text > div.line > div.word |
your div.TextStack__title > h2.Text > div.line > div.word |
whole div.TextStack__title > h2.Text > div.line > div.word |
business div.TextStack__title > h2.Text > div.line > div.word |
click div.TextStack__title > h2.Text > div.line > div.word |
into div.TextStack__title > h2.Text > div.line > div.word |
place div.TextStack__title > h2.Text > div.line > div.word |
Sell anything in person and online with a point of sale platform that works for… div.ContentExplorerItem > div.FlexLayoutSection > div.RichTextFieldComponent > p |
Manage your team div.RichTextFieldComponent > p > span.InlineTypographyComponent > b |
Grow your customer base div.RichTextFieldComponent > p > span.InlineTypographyComponent > b |
Control your cash flow² div.RichTextFieldComponent > p > span.InlineTypographyComponent > b |
Connect your favorite apps div.RichTextFieldComponent > p > span.InlineTypographyComponent > b |
Keep div.TextStack__title > h2.Text > div.line > div.word |
your div.TextStack__title > h2.Text > div.line > div.word |
business div.TextStack__title > h2.Text > div.line > div.word |
growing div.TextStack__title > h2.Text > div.line > div.word |
SQUARE div.TextStack__title > span.Text > div.line > div.word |
AI div.TextStack__title > span.Text > div.line > div.word |
Make div.TextStack__title > h2.Text > div.line > div.word |
smart div.TextStack__title > h2.Text > div.line > div.word |
decisions, div.TextStack__title > h2.Text > div.line > div.word |
fast div.TextStack__title > h2.Text > div.line > div.word |
Ask Square AI anything about your business to get immediate insights. div.Layout > div.Text > div.RichTextFieldComponent > p |
Run div.TextStack__title > h2.Text > div.line > div.word |
your div.TextStack__title > h2.Text > div.line > div.word |
entire div.TextStack__title > h2.Text > div.line > div.word |
business div.TextStack__title > h2.Text > div.line > div.word |
with div.TextStack__title > h2.Text > div.line > div.word |
one div.TextStack__title > h2.Text > div.line > div.word |
plan div.TextStack__title > h2.Text > div.line > div.word |
No hidden fees or locked-in contracts. Cancel or switch plans anytime. div.Layout > div.Text > div.RichTextFieldComponent > p |
Make div.TextStack__title > h2.Text > div.line > div.word |
your div.TextStack__title > h2.Text > div.line > div.word |
next div.TextStack__title > h2.Text > div.line > div.word |
move div.TextStack__title > h2.Text > div.line > div.word |
Get div.TextStack__title > h2.Text > div.line > div.word |
the div.TextStack__title > h2.Text > div.line > div.word |
latest div.TextStack__title > h2.Text > div.line > div.word |
updates div.TextStack__title > h2.Text > div.line > div.word |
from div.TextStack__title > h2.Text > div.line > div.word |
Square div.TextStack__title > h2.Text > div.line > div.word |
div.singleFieldForm > div.PwdsVisibleField > div.TextField > input#Email div.singleFieldForm > div.PwdsVisibleField > div.TextField > input#Email |
Privacy Policy div.formContainer > form.svelte-11k084z > p.Text > a |
1All credit sale plans are issued by Block, Inc. Not available to merchants in … div.FlexLayoutSection > div.RichTextFieldComponent > p.reveal-animation--rise > span.InlineTypographyComponent |
Square Debit Card is issued by Sutton Bank, Member FDIC, pursuant to a license … div.FlexLayoutSection > div.RichTextFieldComponent > p.reveal-animation--rise > span.InlineTypographyComponent |
Funds generated through Square’s payment processing services are generally avai… div.FlexLayoutSection > div.RichTextFieldComponent > p.reveal-animation--rise > span.InlineTypographyComponent |
Square, the Square logo, Square Financial Services, Square Capital, and others … div.FlexLayoutSection > div.RichTextFieldComponent > p.reveal-animation--rise > span.InlineTypographyComponent |
Products nav.mainNav > div.FooterCategorySubcomponent > button.category-heading--button > h6.caret |
Business Types nav.mainNav > div.FooterCategorySubcomponent > button.category-heading--button > h6.caret |
Resources nav.mainNav > div.FooterCategorySubcomponent > button.category-heading--button > h6.caret |
Contact nav.mainNav > div.FooterCategorySubcomponent > button.category-heading--button > h6.caret |
Square div.FooterCategorySubcomponent > div.FooterCategorySubcomponent > button.category-heading--button > h6.caret |
© 2026 Block, Inc. div.content > div.legalNav > div.notices > p.svelte-kyz8oo |
These are opportunities to improve the legibility of your content.
Navigation
Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. Learn more about heading order.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Products nav.mainNav > div.FooterCategorySubcomponent > button.category-heading--button > h6.caret |
These are opportunities to improve keyboard navigation in your application.