IRS Tax Problems? Dale Kennedy Tax Attorney | Kennedy Tax Solutions
Critical2 issues
Buttons must have discernible textbutton-name · 1 element affectedCritical
Ensure buttons have discernible text
Give every button discernible text.
Why: Icon-only buttons (cart, menu, close) are announced as just 'button', so keyboard and screen-reader shoppers can't tell what they do.
How: Add visible text, or aria-label="Add to cart" / "Close", or visually-hidden text inside the button.
<button id="playBtn"><div id="playArrow"></div></button>Fix any of the following: Element does not have inner text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attribute Element does not have an implicit (wrapped) <label> Element does not have an explicit <label> Element's default semantics were not overridden with role="none" or role="presentation"
Images must have alternative textimage-alt · 1 element affectedCritical
Ensure <img> elements have alternative text or a role of none or presentation
Add descriptive alt text to images that convey information.
Why: Screen-reader shoppers hear the alt text instead of seeing the image. Without it, a product photo is announced as 'image' or by its filename, so they can't tell what it is.
How: In the theme, ensure <img> tags use `alt="{{ image.alt | escape }}"` and fill the Alt text field on each product image in Shopify admin. Decorative images should use empty alt (alt="").
<img itemprop="image" nitro-lazy-src="https://cdn-ileofll...." content="https://cdn-ileofll...." class="nitro-lazy" decoding="async" nitro-lazy-empty="" id="MTc6ODUwNjk=-1" data-nitro-empty-id="MTc6ODUwNjk=-1" src="data:image/svg+xml;b...">Fix any of the following: Element does not have an alt attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element has no title attribute Element's default semantics were not overridden with role="none" or role="presentation"
Serious3 issues
Elements must meet minimum color contrast ratio thresholdscolor-contrast · 11 elements affectedSerious
Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Increase the contrast between text and its background.
Why: Low-vision shoppers, and anyone in bright sunlight, can't read text that blends into its background.
How: Aim for a contrast ratio of at least 4.5:1 for normal text (3:1 for large text). Adjust the colours in your theme settings or CSS. Use a contrast checker on the exact hex values.
<span class="menu-text">Home</span>Fix any of the following: Element has insufficient color contrast of 2.56 (foreground color: #ffffff, background color: #3fa9f4, font size: 13.5pt (18px), font weight: normal). Expected contrast ratio of 4.5:1
<span class="menu-text">About Us</span>Fix any of the following: Element has insufficient color contrast of 4.16 (foreground color: #ffffff, background color: #747e80, font size: 13.5pt (18px), font weight: normal). Expected contrast ratio of 4.5:1
<span class="menu-text">Services</span>Fix any of the following: Element has insufficient color contrast of 4.16 (foreground color: #ffffff, background color: #747e80, font size: 13.5pt (18px), font weight: normal). Expected contrast ratio of 4.5:1
<span class="menu-text">Resources</span>Fix any of the following: Element has insufficient color contrast of 4.16 (foreground color: #ffffff, background color: #747e80, font size: 13.5pt (18px), font weight: normal). Expected contrast ratio of 4.5:1
<span class="menu-text">FAQ’s</span>Fix any of the following: Element has insufficient color contrast of 4.16 (foreground color: #ffffff, background color: #747e80, font size: 13.5pt (18px), font weight: normal). Expected contrast ratio of 4.5:1
<span class="menu-text">Local Offices</span>Fix any of the following: Element has insufficient color contrast of 4.16 (foreground color: #ffffff, background color: #747e80, font size: 13.5pt (18px), font weight: normal). Expected contrast ratio of 4.5:1
<span class="menu-text">Contact</span>Fix any of the following: Element has insufficient color contrast of 4.16 (foreground color: #ffffff, background color: #747e80, font size: 13.5pt (18px), font weight: normal). Expected contrast ratio of 4.5:1
<span class="fusion-button-text fusion-button-text-left">Call NOW! 877.767.1325</span>Fix any of the following: Element has insufficient color contrast of 2.56 (foreground color: #ffffff, background color: #3fa9f4, font size: 13.5pt (18px), font weight: bold). Expected contrast ratio of 4.5:1
<span class="fusion-button-text fusion-button-text-left">Call NOW! 877.767.1325</span>Fix any of the following: Element has insufficient color contrast of 2.56 (foreground color: #ffffff, background color: #3fa9f4, font size: 13.5pt (18px), font weight: bold). Expected contrast ratio of 4.5:1
<span style="font-size:10px">(you must be logged in to your Google Account in order to leave a review)</span>Fix any of the following: Element has insufficient color contrast of 3.39 (foreground color: #8c8989, background color: #363839, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1
<a role="button" class="cli_settings_button" style="margin: 5px 20px; color: rgb(98, 163, 41);">Cookie settings</a>Fix any of the following: Element has insufficient color contrast of 3.09 (foreground color: #62a329, background color: #ffffff, font size: 11.3pt (15px), font weight: normal). Expected contrast ratio of 4.5:1
Frames must have an accessible nameframe-title · 1 element affectedSerious
Ensure <iframe> and <frame> elements have an accessible name
Full technical reference (Deque) →<iframe style="position:absolute;to..." frameborder="0" allowfullscreen="" allow="autoplay; fullscreen..." nitro-og-src="https://player.vimeo..." nitro-lazy-src="data:text/html;base6..." class="nitro-lazy">Fix any of the following: Element has no title attribute aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="none" or role="presentation"
All touch targets must be 24px large, or leave sufficient spacetarget-size · 1 element affectedSerious
Ensure touch targets have sufficient size and space
Make tappable targets at least 24x24px, or space them out.
Why: People with tremors or on touchscreens miss small, tightly-packed links and buttons, so they can't navigate or check out.
How: Give links/buttons a minimum height and width (24px, ideally 44px for primary actions) via padding, or add spacing between adjacent targets. Common in footers and icon rows.
<a style="color:#51a2eb;margin-bottom:-10px" href="tel:8777671325">Click to CALL</a>Fix any of the following: Target has insufficient size (71px by 14px, should be at least 24px by 24px) Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 18px instead of at least 24px.
Moderate4 issues
Heading levels should only increase by oneheading-order · 3 elements affectedModerate
Ensure the order of headings is semantically correct
Use heading levels in order, without skipping.
Why: Screen-reader users navigate by headings. Skipping from h1 to h4 breaks the outline they rely on.
How: Make headings reflect structure (one h1, then h2s, then h3s). Style with CSS if you want a smaller-looking heading, don't jump levels for appearance.
<h3 class="" style="text-align:center;margin-top:0px;--fontsize:22;line-height:1.5;--minfontsize:22" data-fontsize="22" data-lineheight="33px">Fix any of the following: Heading order invalid
<h4 class="panel-title toggle fusion-responsive-typography-calculated" id="toggle_13c69841b19489547" data-fontsize="16" style="--fontSize: 16; line-height: 1.38; --minFontSize: 16;" data-lineheight="22.08px">Fix any of the following: Heading order invalid
<h4 class="panel-title toggle fusion-responsive-typography-calculated" id="toggle_6c8df294acc4e26d1" data-fontsize="16" style="--fontSize: 16; line-height: 1.5; --minFontSize: 16;" data-lineheight="24px">Fix any of the following: Heading order invalid
Document should not have more than one contentinfo landmarklandmark-no-duplicate-contentinfo · 1 element affectedModerate
Ensure the document has at most one contentinfo landmark
Full technical reference (Deque) →<footer class="fusion-footer-widget-area fusion-widget-area">Fix any of the following: Document has more than one contentinfo landmark
Landmarks should have a unique role or role/label/title (i.e. accessible name) combinationlandmark-unique · 1 element affectedModerate
Ensure landmarks are unique
Give repeated landmarks a unique label.
Why: Two <nav>s (or two of the same landmark) with no distinguishing label are indistinguishable to screen-reader users navigating by region.
How: Add aria-label to each, e.g. aria-label="Primary" and aria-label="Footer" on the two navs.
<footer class="fusion-footer-widget-area fusion-widget-area">Fix any of the following: The landmark must have a unique aria-label, aria-labelledby, or title to make landmarks distinguishable
All page content should be contained by landmarksregion · 1 element affectedModerate
Ensure all page content is contained by landmarks
Put all page content inside landmark regions.
Why: Content outside landmarks (header, nav, main, footer) is hard for screen-reader users to find and orient within.
How: Use semantic wrappers (<header>, <nav>, <main>, <footer>) so no meaningful content sits loose in the <body>.
<div id="cookie-law-info-bar" data-nosnippet="true" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: inherit; bottom: 0px; position: fixed; display: block;">Fix any of the following: Some page content is not contained by landmarks
Minor1 issue
ARIA role should be appropriate for the elementaria-allowed-role · 1 element affectedMinor
Ensure role attribute has an appropriate value for the element
Full technical reference (Deque) →<a class="mejs-horizontal-volume-slider" href="javascript:void(0);" aria-label="Volume Slider" aria-valuemin="0" aria-valuemax="100" aria-valuenow="100" role="slider">Fix any of the following: ARIA role slider is not allowed for given element
Needs a human (4)
Automation could not decide these. This is the honest other half of accessibility that no scanner (and no overlay) can settle for you.
- Elements must meet minimum color contrast ratio thresholds color-contrast — 37 element(s)
- IDs used in ARIA and labels must be unique duplicate-id-aria — 5 element(s)
- Form field must not have multiple label elements form-field-multiple-labels — 10 element(s)
- Links must be distinguishable without relying on color link-in-text-block — 2 element(s)
Fix these once, then keep them fixed.
Themes change and issues come back. A monitored store gets scheduled re-scans, alerts on regressions, unlimited AI fixes, and an accessibility statement backed by a dated audit trail.