Public accessibility assessment

Accessibility issues detected on howtobearedhead.com

Evolize inspected 4 public pages on howtobearedhead.com and detected 51 automatically identifiable accessibility findings.

51Findings detected
7WCAG criteria affected
4Pages inspected
8 Sep 2026Assessment date

Highest detected severity: High · 14 high-priority findings · 80% inspected-page coverage

Most widespread issueText has insufficient colour contrastDetected on 4 inspected pages
Most affected page/35 findings detected
Most represented WCAG criterionWCAG 1.4.3 — Contrast (Minimum)35 detected findings

Is howtobearedhead.com your website?

Keep this assessment current and get notified when new accessibility issues are detected.

https://

Not your website? Scan your own site →

01 · Accessibility summary

Evolize inspected 4 public pages on howtobearedhead.com and detected 51 accessibility findings. The most widespread issue was "Text has insufficient colour contrast", detected on 4 inspected pages. The most affected inspected page was "/", where 35 findings were detected. The assessment identified findings mapped to 7 WCAG success criterions. The sections below prioritize the broadest issues and provide technical evidence for each detected finding.

02 · Start here

These findings combine the highest severity and broadest reach detected during this assessment.

  1. High

    Text has insufficient colour contrast

    WCAG 1.4.3 (AA) · 4 inspected pages · 12 instances
    Why this matters

    Text and background colours do not meet the minimum contrast ratio, reducing legibility.

    Recommended action

    Increase the contrast ratio to at least 4.5:1 for normal text and 3:1 for large text.

    View technical evidence →
  2. High

    Text has insufficient colour contrast

    WCAG 1.4.3 (AA) · 4 inspected pages · 11 instances
    Why this matters

    Text and background colours do not meet the minimum contrast ratio, reducing legibility.

    Recommended action

    Increase the contrast ratio to at least 4.5:1 for normal text and 3:1 for large text.

    View technical evidence →
  3. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 4 inspected pages · 9 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

    View technical evidence →
  4. High

    Text has insufficient colour contrast

    WCAG 1.4.3 (AA) · 4 inspected pages · 8 instances
    Why this matters

    Text and background colours do not meet the minimum contrast ratio, reducing legibility.

    Recommended action

    Increase the contrast ratio to at least 4.5:1 for normal text and 3:1 for large text.

    View technical evidence →
  5. High

    Form fields use placeholder text as the only label

    WCAG 1.3.1 (A) · 4 inspected pages · 5 instances
    Why this matters

    Fields rely on placeholder text instead of a real label. The placeholder disappears once the user types, and it is not exposed as a programmatic label.

    Recommended action

    Add a persistent <label> associated with each field. Keep the placeholder for example text only, not as the label.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA3544 / 4
2.4.3Focus OrderA744 / 4
1.3.1Info and RelationshipsA344 / 4
4.1.2Name, Role, ValueA344 / 4
1.2.2Captions (Prerecorded)A211 / 4
1.4.10ReflowAA111 / 4
3.3.2Labels or InstructionsA144 / 4

Absence of a criterion here does not indicate conformance with it — only that no automatically detectable issue was found for it.

Continuous monitoring

A scan shows today's exposure. Monitoring shows what changes next.

Evolize continuously reassesses public website pages, detects newly introduced or recurring accessibility findings, and tracks remediation over time.

04 · All detected findings

High

Text has insufficient colour contrast

WCAG 1.4.3 (AA)134 instances4 inspected pages

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Why it matters

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Recommended correction

Increase the contrast ratio to at least 4.5:1 for normal text and 3:1 for large text.

View 134 affected elements
Component · Ref MIVOUX
Affected pagehttps://www.howtobearedhead.com/contact/
Element.site-info
Accessible name©2026 How To Be A Redhead | Privacy Policy
Markup
<div class="site-info desktop-only">
                        ©2026 How To Be A Redhead
                        <span class="sep"> | </span><a class="privacy-policy-link" href="https://www.howtobearedhead.com/privacy/" rel="privacy-policy">Privacy Policy</a>                        </div>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref OIMPX2
Affected pagehttps://www.howtobearedhead.com/contact/
Element.col:nth-child(3) > .two-col.col-body > .right > p
Accessible nameUnlock exclusive discounts, get custom swag, customize your shipments, and earn 10X Redhead Royalty points!
Markup
<p>Unlock exclusive discounts, get custom swag, customize your shipments, and earn 10X Redhead Royalty points!</p>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref F1TJOT
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Element.privacy-policy-link
Accessible namePrivacy Policy
Markup
<a class="privacy-policy-link" href="https://www.howtobearedhead.com/privacy/" rel="privacy-policy">Privacy Policy</a>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref 7H5KZV
Affected pagehttps://www.howtobearedhead.com/contact/
Element.v2--button-text-orange
Accessible nameShop Now
Markup
<a class="v2--button v2--button-white v2--button-text-orange" href="https://shop.howtobearedhead.com/collections/all" title="">Shop Now</a>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref U4XFA2
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Elementa[aria-controls="mega-sub-menu-79101"]
Accessible nameLearn
Markup
<a class="mega-menu-link" href="#" aria-expanded="false" aria-controls="mega-sub-menu-79101">Learn<span class="mega-indicator" aria-hidden="true"></span></a>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref EB3FPW
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Element.adthrive-comscore > span
Accessible nameA Raptive Partner Site
Markup
<span>A Raptive Partner Site</span>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref 2K1XL9
Affected pagehttps://www.howtobearedhead.com/
Element.col:nth-child(1) > .col-body > .right > p
Accessible nameWeekly confidence-boosting tips, product tutorials and discounts – straight to your inbox.
Markup
<p>Weekly confidence-boosting tips, product tutorials and discounts – straight to your inbox.</p>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref QY2B0F
Affected pagehttps://www.howtobearedhead.com/
Element.raptive-content-terms-footer-link
Accessible nameTerms of Content Use
Markup
<a href="/" class="raptive-content-terms-footer-link" aria-haspopup="dialog" aria-controls="raptive-modal-1" aria-expanded="false">Terms of Content Use</a>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref LIDZRV
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Element.go1503166847
Accessible nameSUBSCRIBE
Markup
<button type="button" tabindex="0" data-action-id="01JNEXEKFMET079H4CZRYRFXSW" class="needsclick go1503166847 go4033861592 klaviyo-form-button kl-private-reset-css-Xuajs1">SUBSCRIBE</button>
Affected pages/ /contact /how-to-and-how-not-to-apply-sunscreen
Component · Ref K91VY4
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Elementa[title="Skin archive"]
Accessible nameSkin
Markup
<a href="https://www.howtobearedhead.com/category/hair-beauty/skin/" title="Skin archive">Skin</a>
Affected pages/ /how-to-and-how-not-to-apply-sunscreen
Component · Ref 12APJV
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Element.animate > span:nth-child(1) > a
Accessible nameNEW DROP: FINALLY VIBRANT + FINALLY GLOSSY
Markup
<a href="https://shop.howtobearedhead.com/collections/hair" title="NEW DROP: FINALLY VIBRANT + FINALLY GLOSSY ">
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref K91VUP
Affected pagehttps://www.howtobearedhead.com/contact/
Elementp:nth-child(10) > a
Accessible name[email removed]
Markup
<a href="mailto:[email removed]">[email removed]</a>
Component · Ref QXP1V8
Affected pagehttps://www.howtobearedhead.com/
Element.post-card:nth-child(2) > .h5.category > a[title="Featured Post archive"]
Accessible nameFeatured Post
Markup
<a href="https://www.howtobearedhead.com/category/featured-post/" title="Featured Post archive">Featured Post</a>
Component · Ref 4OMKEQ
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Element.post-card:nth-child(9) > .h5.montserrat.category > a[title="Featured Post archive"]
Accessible nameFeatured Post
Markup
<a href="https://www.howtobearedhead.com/category/featured-post/" title="Featured Post archive">Featured Post</a>
Component · Ref J67W69
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Element.post-card:nth-child(1) > .excerpt.domine > p > a
Accessible nameContinue Reading
Markup
<a href="https://www.howtobearedhead.com/the-ultimate-guide-to-maintaining-red-hair-color/" title="The Ultimate Guide to Maintaining Red Hair Color">Continue Reading</a>
Component · Ref WDSYIV
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Element.posted-on
Accessible namePosted on July 24, 2013May 20, 2014
Markup
<span class="posted-on">
Component · Ref J0MA5K
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Element.disclosure
Accessible nameWe may receive commissions from links on this page, but we only recommend products we love and deem ‘redhead friendly’. Full Disclosure.
Markup
<p class=" disclosure domine small">
Component · Ref CB8ABO
Affected pagehttps://www.howtobearedhead.com/
Element#adthrive-ccpa-link
Accessible nameInformation from your device can be used to personalize your ad experience. Do not sell or share my personal information.
Markup
<div id="adthrive-ccpa-link" class="adthrive-ccpa-link" style="display: block;">
Component · Ref TFK7ZP
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Element.entry-date
Accessible nameJuly 24, 2013
Markup
<time class="entry-date published" datetime="2013-07-24T17:08:50-04:00">July 24, 2013</time>
Component · Ref JPAJGF
Affected pagehttps://www.howtobearedhead.com/
Element.block_right > div > p
Accessible nameJoin the redhead club and get free products, earn commission, & so much more.
Markup
<p>Join the redhead club and get free products, earn commission, &amp; so much more.</p>
Component · Ref L8C2XV
Affected pagehttps://www.howtobearedhead.com/
Element#ccpaTag
Accessible nameDo not sell or share my personal information.
Markup
<a id="ccpaTag" href="/" aria-haspopup="dialog" aria-controls="adthrive-ccpa-modal" aria-expanded="false">Do not sell or share my personal information.</a>
Component · Ref XOYTVD
Affected pagehttps://www.howtobearedhead.com/
Element.block:nth-child(1) > div > p
Accessible nameCustomize your seasonal package, get free merch + 10X the points!
Markup
<p>Customize your seasonal package, get free merch + 10X the points!</p>
Component · Ref 4T9191
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Element.url
Accessible nameH2BAR Team
Markup
<a class="url fn n" href="https://www.howtobearedhead.com/author/admin/">H2BAR Team</a>
Component · Ref WBKOA2
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Element.search-form > .input-group > .input-group-button > .btn-primary[type="submit"][value="Search"]
Markup
<input class="btn-primary" type="submit" id="searchsubmit" value="Search">
Component · Ref 4C7TYT
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Element.next
Accessible nameNext
Markup
<a class="next page-numbers" href="https://www.howtobearedhead.com/category/featured-post/page/2/">Next</a>

Showing 25 representative examples · 10 more affected elements not shown

High

Hidden elements can still receive keyboard focus

WCAG 2.4.3 (A)39 instances4 inspected pages

An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

Why it matters

An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

Recommended correction

Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

View 39 affected elements
Component · Ref RH7A4R
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Elementdiv#mega-toggle-block-0 > button
Accessible nameToggle Menu
Markup
<button aria-controls="mega-menu-primary" aria-expanded="false" aria-haspopup="true" aria-label="Toggle Menu" class="mega-toggle-animated mega-toggle-animated-slider" type="button">
                  <span class="mega-toggle-animated-box">
                    <span class="mega-toggle-animated-inner"></span>
                  </span>
                </button>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref M9Q7M6
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Elementbutton#next-video
Accessible nameNext video
Markup
<button type="button" aria-label="Next video" id="next-video"><span>next</span></button>
Affected pages/ /contact /how-to-and-how-not-to-apply-sunscreen
Component · Ref TDOTOM
Affected pagehttps://www.howtobearedhead.com/
Elementmain#primary > div:nth-of-type(6) > div > div:nth-of-type(1) > a
Accessible nameThe Ultimate Guide to Maintaining Red Hair Color
Markup
<a class="post-thumbnail" href="https://www.howtobearedhead.com/the-ultimate-guide-to-maintaining-red-hair-color/" aria-hidden="true" title="Read more about The Ultimate Guide to Maintaining Red Hair Color">
					<img width="800" height="600" data-src="https://images.howtobearedhead.com/wp-content/uploads/2026/04/how-to-be-a-redhead-finally-vibrant-glossy-red-hair-color-guide.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image lazyload" alt="The Ultimate Guide to Maintaining Red Hair Color" decoding="async" data-srcset="https://images.howtobearedhead.com/wp-content/uploads/…
Affected pages/ /category/featured-post
Component · Ref QOBOXM
Affected pagehttps://www.howtobearedhead.com/contact/
Elementdialog#raptive-modal-1 > div > div:nth-of-type(2)
Accessible nameThe content we make available on this website [and through our other channels] (the “Service”) was created, developed, compiled, prepared, revised, selected, and/or arranged by us, using our own methods and judgment, and through the expenditure of substantial time and effort. This Service and the content we make available are proprietary, and are protected by these Terms of Service (which is a contract between us and you), copyright laws, and other intellectual property laws and treaties. This Service is also protected as a collective work or compilation under U.S. copyright and other laws and treaties. We provide it for your personal, non-commercial use only.You may not use, and may not authorize any third party to use, this Service or any content we make available on this Service in any manner that (i) is a source of or substitute for the Service or the content; (ii) affects our ability to earn money in connection with the Service or the content; or (iii) competes with the Service we provide. These restrictions apply to any robot, spider, scraper, web crawler, or other automated means or any similar manual process, or any software used to access the Service. You further agree not to violate the restrictions in any robot exclusion headers of this Service, if any, or bypass or circumvent other measures employed to prevent or limit access to the Service by automated means.
Markup
<div class="raptive-content-terms-modal-body" tabindex="0"><p>The content we make available on this website [and through our other channels] (the “Service”) was created, developed, compiled, prepared, revised, selected, and/or arranged by us, using our own methods and judgment, and through the expenditure of substantial time and effort. This Service and the content we make available are proprietary, and are protected by these Terms of Service (which is a contract between us and you), copyright laws, and other intellectual property laws and treaties. This Service is also protected as a collecti…
Component · Ref EYV17U
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Elementdiv > div > div:nth-of-type(8) > div:nth-of-type(2) > div:nth-of-type(1) > button:nth-of-type(1)
Accessible nameSettings
Markup
<button type="button" class="raptive-player-settings-page-item" aria-current="false" data-action="show" data-value="settings" data-persist="true"><span>Settings</span><span class="raptive-player-settings-page-item-value"></span><span><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right" style="pointer-events: none;"><polyline points="9 18 15 12 9 6"></polyline></svg></span></button>
Component · Ref GOWJTG
Affected pagehttps://www.howtobearedhead.com/contact/
Elementa#ccpaTag
Accessible nameDo not sell or share my personal information.
Markup
<a id="ccpaTag" href="/" aria-haspopup="dialog" aria-controls="adthrive-ccpa-modal" aria-expanded="false">Do not sell or share my personal information.</a>
High

Form fields use placeholder text as the only label

WCAG 1.3.1 (A)5 instances4 inspected pages

Fields rely on placeholder text instead of a real label. The placeholder disappears once the user types, and it is not exposed as a programmatic label.

Why it matters

Fields rely on placeholder text instead of a real label. The placeholder disappears once the user types, and it is not exposed as a programmatic label.

Recommended correction

Add a persistent <label> associated with each field. Keep the placeholder for example text only, not as the label.

View 5 affected elements
Component · Ref 7EP97I
Affected pagehttps://www.howtobearedhead.com/
Elementinput#s
Markup
<input type="text" class="input-group-field header-field" value="" name="s" id="s" placeholder="Search">
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
High

Modal dialog does not trap keyboard focus

WCAG 2.4.3 (A)3 instances3 inspected pages

An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.

Why it matters

An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.

Recommended correction

While a modal is open, confine focus to the dialog and mark the rest of the page inert (or aria-hidden). Restore focus on close.

View 3 affected elements
Component · Ref VUHO3L
Affected pagehttps://www.howtobearedhead.com/
Elementhtml > body > div:nth-of-type(7) > div > div:nth-of-type(2)
Accessible namePOPUP Form
Roledialog
Markup
<div role="dialog" aria-modal="true" aria-label="POPUP Form" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; z-index: 90000; position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; justify-content: center; align-items: center; overflow: clip auto; background-color: rgba(20, 20, 20, 0); animation-timing-function: ease; animation-play-state: running; animation-iteration-count: 1; animation-fill-mode: forwards; animation-delay: 0s; animation-duration: 0.35s; animation-name: klaviyo-fadein;" data-kl-scroll-locking-modal="true"><div class="needsclick  kl-private-reset…
Affected pages/ /contact /how-to-and-how-not-to-apply-sunscreen
High

ARIA hidden element must not be focusable or contain focusable elements

WCAG 4.1.2 (A)18 instances2 inspected pages

ARIA hidden element must not be focusable or contain focusable elements

Why it matters

ARIA hidden element must not be focusable or contain focusable elements

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 18 affected elements
Component · Ref DFHVZG
Affected pagehttps://www.howtobearedhead.com/
Element.post-card:nth-child(2) > .post-thumbnail[aria-hidden="true"]
Accessible nameFinally Vibrant vs Finally Glossy: What’s the Difference?
Markup
<a class="post-thumbnail" href="https://www.howtobearedhead.com/finally-vibrant-vs-finally-glossy-whats-the-difference/" aria-hidden="true" title="Read more about Finally Vibrant vs Finally Glossy: What’s the Difference?">
Affected pages/ /category/featured-post
Medium

ARIA attributes have invalid values

WCAG 4.1.2 (A)5 instances4 inspected pages

ARIA attributes reference ids that do not exist or hold invalid values, breaking the accessibility tree.

Why it matters

ARIA attributes reference ids that do not exist or hold invalid values, breaking the accessibility tree.

Recommended correction

Correct ARIA attribute values and ensure referenced ids exist in the DOM.

View 5 affected elements
Component · Ref ZBTG29
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Element.raptive-content-terms-footer-link
Accessible nameTerms of Content Use
Markup
<a href="/" class="raptive-content-terms-footer-link" aria-haspopup="dialog" aria-controls="raptive-modal-1" aria-expanded="false">Terms of Content Use</a>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Component · Ref 7696IL
Affected pagehttps://www.howtobearedhead.com/
Element#ccpaTag
Accessible nameDo not sell or share my personal information.
Markup
<a id="ccpaTag" href="/" aria-haspopup="dialog" aria-controls="adthrive-ccpa-modal" aria-expanded="false">Do not sell or share my personal information.</a>
Medium

Content sits outside any landmark region

WCAG 1.3.1 (A)4 instances4 inspected pages

Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.

Why it matters

Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.

Recommended correction

Wrap primary content in <main> and other regions in appropriate landmark elements.

View 4 affected elements
Component · Ref OJ8GBB
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Elementdiv#page > div:nth-of-type(3) > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > h3
Accessible nameSIGN UP FOR THE NEWSLETTER
Markup
<h3>SIGN UP FOR THE NEWSLETTER</h3>
Affected pages/ /contact /category/featured-post /how-to-and-how-not-to-apply-sunscreen
Medium

Content overflows horizontally on narrow viewports

WCAG 1.4.10 (AA)1 instance1 inspected page

The page scrolls horizontally at a mobile width, indicating content that does not reflow.

Why it matters

The page scrolls horizontally at a mobile width, indicating content that does not reflow.

Recommended correction

Ensure layouts reflow to a single column without horizontal scrolling down to 320px width.

View 1 affected element
Component · Ref OQK852
Affected pagehttps://www.howtobearedhead.com/category/featured-post/
Elementhtml
Accessible name!function(){"use strict";const t={adt_ei:{identityApiKey:"plainText",source:"url",type:"plaintext",priority:1},adt_eih:{identityApiKey:"sha256",source:"urlh",type:"hashed",priority:2},sh_kit:{identityApiKey:"sha256",source:"urlhck",type:"hashed",priority:3}},e=Object.keys(t);function i(t){return function(t){const e=t.match(/((?=([a-z0-9._!#$%+^&*()[\]<>-]+))\2@[a-z0-9._-]+\.[a-z0-9._-]+)/gi);return e?e[0]:""}(function(t){return t.replace(/\s/g,"")}(t.toLowerCase()))}!async function(){const n=new URL(window.location.href),o=n.searchParams;let a=null;const r=Object.entries(t).sort(([,t],[,e])=>t.priority-e.priority).map(([t])=>t);for(const e of r){const n=o.get(e),r=t[e];if(!n||!r)continue;const c=decodeURIComponent(n),d="plaintext"===r.type&&i(c),s="hashed"===r.type&&c;if(d||s){a={value:c,config:r};break}}if(a){const{value:t,config:e}=a;window.adthrive=window.adthrive||{},window.adthrive.cmd=window.adthrive.cmd||[],window.adthrive.cmd.push(function(){window.adthrive.identityApi({source:e.source,[e.identityApiKey]:t},({success:i,data:n})=>{i?window.adthrive.log("info","Plugin","detectEmails",`Identity API called with ${e.type} email: ${t}`,n):window.adthrive.log("warning","Plugin","detectEmails",`Failed to call Identity API with ${e.type} email: ${t}`,n)})})}!function(t,e){const i=new URL(e);t.forEach(t=>i.searchParams.delete(t)),history.replaceState(null,"",i.toString())}(e,n)}()}(); (function(w, d) { w.adthrive = w.adthrive || {}; w.adthrive.cmd = w.adthrive.cmd || []; w.adthrive.plugin = 'adthrive-ads-3.13.0'; w.adthrive.host = 'ads.adthrive.com'; w.adthrive.integration = 'plugin'; var commitParam = (w.adthriveCLS && w.adthriveCLS.bucket !== 'prod' && w.adthriveCLS.branch) ? '&commit=' + w.adthriveCLS.branch : ''; var s = d.createElement('script'); s.async = true; s.referrerpolicy='no-referrer-when-downgrade'; s.src = 'https://' + w.adthrive.host + '/sites/5efb92170e2d648eb39bd809/ads.min.js?referrer=' + w.encodeURIComponent(w.location.href) + commitParam + '&cb=' + (Math.floor(Math.random() * 100) + 1) + ''; var n = d.getElementsByTagName('script')[0]; n.parentNode.insertBefore(s, n); })(window, document); Featured Post Archives — How to be a Redhead - Redhead Makeup {"@context":"https:\/\/schema.org","@graph":[{"@type":"CollectionPage","@id":"https:\/\/www.howtobearedhead.com\/category\/featured-post\/","url":"https:\/\/www.howtobearedhead.com\/category\/featured-post\/","name":"Featured Post Archives &#8212; How to be a Redhead - Redhead Makeup","isPartOf":{"@id":"https:\/\/www.howtobearedhead.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.howtobearedhead.com\/category\/featured-post\/#primaryimage"},"image":{"@id":"https:\/\/www.howtobearedhead.com\/category\/featured-post\/#primaryimage"},"thumbnailUrl":"https:\/\/images.howtobearedhead.com\/wp-content\/uploads\/2026\/04\/how-to-be-a-redhead-finally-vibrant-glossy-red-hair-color-guide.jpg","breadcrumb":{"@id":"https:\/\/www.howtobearedhead.com\/category\/featured-post\/#breadcrumb"},"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.howtobearedhead.com\/category\/featured-post\/#primaryimage","url":"https:\/\/images.howtobearedhead.com\/wp-content\/uploads\/2026\/04\/how-to-be-a-redhead-finally-vibrant-glossy-red-hair-color-guide.jpg","contentUrl":"https:\/\/images.howtobearedhead.com\/wp-content\/uploads\/2026\/04\/how-to-be-a-redhead-finally-vibrant-glossy-red-hair-color-guide.jpg","width":800,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/www.howtobearedhead.com\/category\/featured-post\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.howtobearedhead.com\/"},{"@type":"ListItem","position":2,"name":"Featured Post"}]},{"@type":"WebSite","@id":"https:\/\/www.howtobearedhead.com\/#website","url":"https:\/\/www.howtobearedhead.com\/","name":"How to be a Redhead - Redhead Makeup","description":"","publisher":{"@id":"https:\/\/www.howtobearedhead.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.howtobearedhead.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.howtobearedhead.com\/#organization","name":"How to be a Redhead","url":"https:\/\/www.howtobearedhead.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.howtobearedhead.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.howtobearedhead.com\/wp-content\/uploads\/2015\/08\/a-logo-website.png","contentUrl":"https:\/\/www.howtobearedhead.com\/wp-content\/uploads\/2015\/08\/a-logo-website.png","width":323,"height":201,"caption":"How to be a Redhead"},"image":{"@id":"https:\/\/www.howtobearedhead.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/howtobearedhead","https:\/\/x.com\/HowtobeaRedhead","https:\/\/instagram.com\/howtobearedhead","https:\/\/pinterest.com\/howtobearedhead","https:\/\/youtube.com\/howtobearedhead"]}]} .lazyload, .lazyloading { max-width: 100%; } .smush-dimensions { --smush-image-aspect-ratio: auto; aspect-ratio: var(--smush-image-aspect-ratio); } img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} /*# sourceURL=wp-img-auto-sizes-contain-inline-css */ img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } /*# sourceURL=wp-emoji-styles-inline-css */ :root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{just…[truncated by Evolize: exceeded D1 value limit]
Markup
<html lang="en-US" class=""><head><script type="text/javascript" async="" src="https://cdn.id5-sync.com/api/1.0/id5PrebidModule.js"></script><script type="text/javascript" async="" src="https://d9.flashtalking.com/d9core"></script>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="profile" href="https://gmpg.org/xfn/11">
    
    <link rel="stylesheet" href="https://use.typekit.net/vba8kmi.css">
	
    <script type="text/javascript" src="https://ads.adthrive.com/builds/core/5f70355/js/adthrive.min.js?deployment=2026-09-08-10:rpsc-976:5f703…
Medium

<video> elements must have captions

WCAG 1.2.2 (A)1 instance1 inspected page

<video> elements must have captions

Why it matters

<video> elements must have captions

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 1 affected element
Component · Ref 9LUPO3
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Element.raptive-player-video
Markup
<video class="raptive-player-video" webkit-playsinline="true" playsinline="true" disablepictureinpicture="true" poster="https://cdn.jwplayer.com/v2/media/nBMuC9qq/poster.jpg?width=720" preload="metadata"></video>
Low

Page has no level-one heading

WCAG 1.3.1 (A)1 instance1 inspected page

The page exposes no <h1>, so its topic is not conveyed in the heading structure.

Why it matters

The page exposes no <h1>, so its topic is not conveyed in the heading structure.

Recommended correction

Add a single descriptive <h1> that names the page's primary purpose.

View 1 affected element
Component · Ref WN72Y8
Affected pagehttps://www.howtobearedhead.com/
Elementhtml > body
Accessible name<iframe data-src="https://www.googletagmanager.com/ns.html?id=GTM-536S8G4" height="0" width="0" style="display:none" src="about:blank" class="lazyload" data-load-mode="0"></iframe> Skip to content NEW DROP: FINALLY VIBRANT + FINALLY GLOSSY SHIPPING NOW NOMINATED BY ALLURE + SHARK TANK APPROVED FREE GIFT WHEN YOU SPEND $50+ NEW DROP: FINALLY VIBRANT + FINALLY GLOSSY SHIPPING NOW NOMINATED BY ALLURE + SHARK TANK APPROVED FREE GIFT WHEN YOU SPEND $50+ .site-branding { height: auto; } .site-branding img { max-width: 100%; } .site-branding .site-logo img { position: relative; top: 0; left: 0; } .v2--site-navigation { padding: 10px; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; width: 100%; } .v2--logo { width: 100%; order: 2; padding: 0; } .v2--logo a, .v2--logo a img { display: block; max-width: 60px; } .v2--nav { width: 90px; text-align: center; justify-content: flex-end; align-items: center; display: flex; order: 1; } @media (max-width: 1024px) { .v2--logo a { margin: 0 auto; } .v2--nav .nav--toggle-small { padding-left: 0 !important; } } .v2--helpers { width: 90px; display: flex; flex-direction: row; flex-wrap: nowrap; order: 2; align-items: center; justify-content: flex-end; padding-right: 0px; } .v2--helpers .v2--button { align-self: unset; } .v2--helpers a:not(:first-of-type) { margin-left: 20px; } @media (max-width: 1023px) { .main-navigation { padding: 0; } /* .v2--helpers a:nth-of-type(1), .v2--helpers a:nth-of-type(2) { display: none; } */ } @media (min-width: 1025px) { .v2--site-navigation { padding-left: 5rem; padding-right: 5rem; } .v2--logo { width: 110px; order: 1; } .v2--nav { width: 100%; order: 2; justify-content: center; } .v2--helpers { justify-content: flex-end; /* width: 340px; */ order: 3; padding: 0; } } @media (min-width: 1440px) { .v2--helpers { /* min-width: 380px; */ order: 3; align-items: center; justify-content: flex-end; } } How to be a Redhead – Redhead Makeup Shop NEW Hair Brows Lashes Undereye Lips Merch Gift Bundles Men's Gift Cards SALE All Learn Shark TankExclusive ReadsSpread the Word Join MembershipAmbassador ProgramNewsletterFree Events Log in .site-header { background-color: rgba(255,255,255,0.85); } .site-main { margin-top: -80px } @media (min-width: 60rem) { #mega-menu-wrap-primary, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a:hover, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link:hover { background: transparent !important; } } .home-marqu…[truncated by Evolize: exceeded D1 value limit]
Markup
<body class="home wp-singular page-template-default page page-id-19507 wp-custom-logo wp-theme-h2bar_wordpress mega-menu-primary has-sidebar adthrive-device-desktop klaviyo-prevent-body-scrolling">

<!--BEGIN: TRACKING CODE MANAGER (v2.8.0) BY INTELLYWP.COM IN BODY//-->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe data-src="https://www.googletagmanager.com/ns.html?id=GTM-536S8G4" height="0" width="0" style="display:none" src="about:blank" class="lazyload" data-load-mode="0"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<!--END: https://wordpress.org/plugins/tracki…
Low

Video may be missing captions

WCAG 1.2.2 (A)3 instances1 inspected page

A video element has no captions or subtitles track. Whether captions are needed depends on the audio content and requires manual review.

Why it matters

A video element has no captions or subtitles track. Whether captions are needed depends on the audio content and requires manual review.

Recommended correction

Provide a synchronized captions track (<track kind="captions">) for video with meaningful audio.

View 3 affected elements
Component · Ref TXZMT7
Affected pagehttps://www.howtobearedhead.com/how-to-and-how-not-to-apply-sunscreen/
Elementdiv#adthrive-auto-injected-ad-container > div > div:nth-of-type(2) > video
Accessible nameAdvertisement
Markup
<video title="Advertisement" webkit-playsinline="true" playsinline="true" style="background-color: rgb(0, 0, 0); height: 100%; width: 100%; position: absolute; left: 0px; top: 0px;"></video>

05 · Most affected inspected pages

06 · About this assessment

Evolize inspects publicly accessible website pages using automated browser-based testing and deterministic accessibility rules. Automated testing can identify many reproducible technical issues but cannot determine complete WCAG or legal compliance.

  • Publicly accessible surfaces only — no credentials, private systems, or source-code access.
  • Findings apply to the pages and states successfully inspected; automated analysis may not detect every issue.
  • Results reflect the site at the scan date and may have changed since.

Evolize provides digital risk intelligence and does not provide legal advice, certify compliance, or guarantee that litigation will not occur. Methodology · Security · Example assessment

07 · Continuous monitoring

This public report captures one assessment. Evolize monitoring rescans the website, detects new and recurring findings, tracks changes over time and verifies corrections.

Is information in this report inaccurate or outdated? Request a correction or removal.