Accessibility scan

Linear

https://linear.app

F

41 automated issues detected

Impact-weighted score: 240 · critical 7 · serious 34 · moderate 0 · minor 0

Automated axe-core 4.11.4 scan of the homepage only, run on June 23, 2026. Results are reproducible: the same engine, the same page.

Automated testing detects roughly 30–50% of WCAG issues. Many barriers — keyboard traps, screen-reader flow, focus order, meaningful alt text — need manual review by a person. A clean automated scan is not the same as an accessible site.

A clean automated scan is not a determination of ADA compliance, legal compliance, or full accessibility. These results describe only what an automated scan found on one page on one date.

Detected issues

Buttons must have discernible text

Critical · 7 elements

WCAG: wcag2a, wcag412 · rule: button-name

.CV-gUa_buttonBase.ImRUSq_align-center
<button tabindex="-1" class="CV-gUa_buttonBase ImRUSq_root ImRUSq_align-center">
.w9ZFkq_commentButton:nth-child(1)
<button class="w9ZFkq_commentButton" tabindex="-1" style="margin-right:6px">
.w9ZFkq_commentButton:nth-child(2)
<button class="w9ZFkq_commentButton" tabindex="-1" style="margin-right:12px">
.w9ZFkq_sendButton
<button disabled="" class="w9ZFkq_commentButton w9ZFkq_sendButton" tabindex="-1">
.hbnAuG_root
<button type="button" tabindex="-1" style="pointer-events:none;color:var(--color-text-quaternary)" class="hbnAuG_root S36ykG_root S36ykG_variant-ghost S36ykG_size-mini S36ykG_variant">
#base-ui-_R_jadqt9jal6_
<button type="button" tabindex="0" id="base-ui-_R_jadqt9jal6_" role="combobox" aria-expanded="false" aria-haspopup="listbox" class="m-yS4G_trigger S36ykG_root S36ykG_variant-ghost S36ykG_size-small S36ykG_variant">
#base-ui-_R_stafat9jal6_
<button type="button" tabindex="0" id="base-ui-_R_stafat9jal6_" role="combobox" aria-expanded="false" aria-haspopup="listbox" class="LwA8Xa_playbackSpeedSelector S36ykG_root S36ykG_variant-ghost S36ykG_size-small S36ykG_variant">

Elements must meet minimum color contrast ratio thresholds

Serious · 32 elements

WCAG: wcag2aa, wcag143 · rule: color-contrast

._9PBFba_a > .NChGL.GJ9TEa_figure.sc-KOGVz
<span class="sc-KOGVz NChGL GJ9TEa_figure" style="opacity:0.4">FIG 0.2</span>
Contrast ratio: 1.88:1text: #3c3f43bg: #08090ause #76787b (passes AA on this background)
._9PBFba_c > .NChGL.GJ9TEa_figure.sc-KOGVz
<span class="sc-KOGVz NChGL GJ9TEa_figure" style="opacity:0.4">FIG 0.4</span>
Contrast ratio: 1.88:1text: #3c3f43bg: #08090ause #76787b (passes AA on this background)
.I_mUeq_root[href$="intake"][rel="noopener"] > .b-30Va_action.ImRUSq_align-center.ImRUSq_root > .ejipgV.Fzcv4W_slashedZero.sc-KOGVz
<span class="sc-KOGVz ejipgV Fzcv4W_slashedZero">1.0</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(19) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_ingredient:nth-child(1) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">1<!-- -->.<!-- -->1</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(19) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_unevenIngredient.M31rWW_ingredient:nth-child(2) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">1<!-- -->.<!-- -->2</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(19) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_ingredient:nth-child(3) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">1<!-- -->.<!-- -->3</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(19) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_unevenIngredient.M31rWW_ingredient:nth-child(4) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">1<!-- -->.<!-- -->4</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.I_mUeq_root[href$="plan"][rel="noopener"] > .b-30Va_action.ImRUSq_align-center.ImRUSq_root > .ejipgV.Fzcv4W_slashedZero.sc-KOGVz
<span class="sc-KOGVz ejipgV Fzcv4W_slashedZero">2.0</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(22) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_ingredient:nth-child(1) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">2<!-- -->.<!-- -->1</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(22) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_unevenIngredient.M31rWW_ingredient:nth-child(2) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">2<!-- -->.<!-- -->2</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(22) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_ingredient:nth-child(3) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">2<!-- -->.<!-- -->3</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(22) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_unevenIngredient.M31rWW_ingredient:nth-child(4) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">2<!-- -->.<!-- -->4</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.I_mUeq_root[href$="build"][rel="noopener"] > .b-30Va_action.ImRUSq_align-center.ImRUSq_root > .ejipgV.Fzcv4W_slashedZero.sc-KOGVz
<span class="sc-KOGVz ejipgV Fzcv4W_slashedZero">3.0</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(25) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_ingredient:nth-child(1) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">3<!-- -->.<!-- -->1</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(25) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_unevenIngredient.M31rWW_ingredient:nth-child(2) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">3<!-- -->.<!-- -->2</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(25) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_ingredient:nth-child(3) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">3<!-- -->.<!-- -->3</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(25) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_unevenIngredient.M31rWW_ingredient:nth-child(4) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">3<!-- -->.<!-- -->4</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.M31rWW_ingredient:nth-child(5) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">3<!-- -->.<!-- -->5</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.I_mUeq_root[href$="diffs"][rel="noopener"] > .b-30Va_action.ImRUSq_align-center.ImRUSq_root > .ejipgV.Fzcv4W_slashedZero.sc-KOGVz
<span class="sc-KOGVz ejipgV Fzcv4W_slashedZero">4.0</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.fEjeNH > .hide-mobile
<span class="hide-mobile">kinetic-ios/src/screens/Home/HomeScreen.tsx</span>
Contrast ratio: 3.3:1text: #62666dbg: #0f1011use #787c82 (passes AA on this background)
#base-ui-_R_jadqt9jal6_ > span:nth-child(1)
<span>Linear</span>
Contrast ratio: 3.3:1text: #62666dbg: #0f1011use #787c82 (passes AA on this background)
.I_mUeq_root[href$="monitor"][rel="noopener"] > .b-30Va_action.ImRUSq_align-center.ImRUSq_root > .ejipgV.Fzcv4W_slashedZero.sc-KOGVz
<span class="sc-KOGVz ejipgV Fzcv4W_slashedZero">5.0</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(31) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_ingredient:nth-child(1) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">5<!-- -->.<!-- -->1</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(31) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_unevenIngredient.M31rWW_ingredient:nth-child(2) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">5<!-- -->.<!-- -->2</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.b-30Va_root.b-30Va_rootHomepage:nth-child(31) > .b-30Va_footer.hide-mobile > .b-30Va_footerContent.Fzcv4W_inset > .M31rWW_ingredients > .M31rWW_ingredient:nth-child(3) > .M31rWW_ingredientButton > .M31rWW_ingredientLink > .ImRUSq_align-baseline.ImRUSq_root > .Fzcv4W_slashedZero.ftxODV.sc-KOGVz
<span class="sc-KOGVz ftxODV Fzcv4W_slashedZero">5<!-- -->.<!-- -->3</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.fjOtda_changelogItem:nth-child(2) > .fjOtda_link.I_mUeq_root[rel="noopener"] > .ImRUSq_column.ImRUSq_root > .dqXLjF.sc-KOGVz
<span class="sc-KOGVz dqXLjF">Jun 17, 2026</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.fjOtda_changelogItem:nth-child(3) > .fjOtda_link.I_mUeq_root[rel="noopener"] > .ImRUSq_column.ImRUSq_root > .dqXLjF.sc-KOGVz
<span class="sc-KOGVz dqXLjF">Jun 10, 2026</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.fjOtda_changelogItem:nth-child(4) > .fjOtda_link.I_mUeq_root[rel="noopener"] > .ImRUSq_column.ImRUSq_root > .dqXLjF.sc-KOGVz
<span class="sc-KOGVz dqXLjF">Jun 3, 2026</span>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.Jmh1Wq_legalLink[href$="privacy"][rel="noopener"]
<a href="/privacy" class="Jmh1Wq_legalLink I_mUeq_root" rel="noopener">Privacy</a>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.Jmh1Wq_legalLink[href$="terms"][rel="noopener"]
<a href="/terms" class="Jmh1Wq_legalLink I_mUeq_root" rel="noopener">Terms</a>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.Jmh1Wq_legalLink[href$="dpa"][rel="noopener"]
<a href="/dpa" class="Jmh1Wq_legalLink I_mUeq_root" rel="noopener">DPA</a>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)
.Jmh1Wq_legalLink[href$="aup"][rel="noopener"]
<a href="/legal/aup" class="Jmh1Wq_legalLink I_mUeq_root" rel="noopener">AUP</a>
Contrast ratio: 3.45:1text: #62666dbg: #08090ause #75787e (passes AA on this background)

Links must have discernible text

Serious · 1 element

WCAG: wcag2a, wcag244, wcag412 · rule: link-name

.MR81zG_logosLink
<a href="/customers" class="MR81zG_logosLink I_mUeq_root" rel="noopener">

Scrollable region must have keyboard access

Serious · 1 element

WCAG: wcag2a, wcag211, wcag213 · rule: scrollable-region-focusable

._8fVXdW_codeColumn:nth-child(2) > pre
<pre>

Are you Linear?

This is a free, automated, homepage-only snapshot. Re-scan linear.app live, get the full element-level worklist across every page, or set up monitoring that re-checks on a schedule and alerts only on new issues.