On 4 of the 11 pages we reviewed, the first screen has links and buttons that share the same background, text color and font size.
F4 · First screen and calls to action
Their appearance does not separate one action from another: someone arriving has no visual cue to choose by.
It appears on 4 of the 11 pages we reviewed. Among them: /register, /courses, /efficacy. Plus 1 more.
only on mobile (390 px)
The count for each page
- https://www.duolingo.com/register · 6
- https://www.duolingo.com/courses · 8
- https://www.duolingo.com/efficacy · 7
- https://blog.duolingo.com/handbook/ · 2
About this check: Not measured. A fixed layer sat over the first screen, and we cannot separate what is underneath.
If you decide to change it: Change the style of whichever one should be the main action. We have not tested the change, so we do not know what else is affected.
On 10 of the 11 pages we reviewed, there are pieces of text that barely stand out from their background.
F1 · Computed accessibility
Why it matters: It is hard to read against the color behind it.
It appears on 10 of the 11 pages we reviewed. Among them: /, /register, /course/en/en/Learn-English. Plus 7 more.
We measure against the reference the check itself brings: 4.5 to 1 for normal text and 3 to 1 for large text. We did not set it. We do not measure text that sits on an image or a gradient: the check cannot work out the background color, and those cases never get this far.
This is not all of them: there are at least 137 more.
The measured colors, with their page
- Aa2.08The text is
#58cc02 on #ffffff · 6 times on https://www.duolingo.com/ · it says “free. fun. effective.” - Aa4.47The text is
#777777 on #ffffff · 13 times on https://www.duolingo.com/ · it says “Learning with Duolingo is fun, and research shows that it works! With quick, bite-sized le” - Aa2.44The text is
#1cb0f6 on #ffffff · once on https://www.duolingo.com/ · it says “research shows that it works” - Aa1.87The text is
#d7ffb8 on #58cc02 · 11 times on https://www.duolingo.com/ · it says “About us” - Aa1.48The text is
#a5ed6e on #58cc02 · 40 times on https://www.duolingo.com/ · it says “Courses” - Aa4.47The text is
#777777 on #ffffff · 40 times on https://www.duolingo.com/register · it says “41.9M learners” - Aa2.08The text is
#58cc02 on #ffffff · 5 times on https://www.duolingo.com/course/en/en/Learn-English · it says “free. fun. effective.” - Aa4.47The text is
#777777 on #ffffff · 4 times on https://www.duolingo.com/course/en/en/Learn-English · it says “Learning with Duolingo is fun, and research shows that it works! With quick, bite-sized le” - Aa2.44The text is
#1cb0f6 on #ffffff · once on https://www.duolingo.com/course/en/en/Learn-English · it says “research shows that it works” - Aa1.87The text is
#d7ffb8 on #58cc02 · 11 times on https://www.duolingo.com/course/en/en/Learn-English · it says “About us” - Aa1.48The text is
#a5ed6e on #58cc02 · 45 times on https://www.duolingo.com/course/en/en/Learn-English · it says “Courses” - Aa4.12The text is
#777777 on #e6faf5 · once on https://www.duolingo.com/chess · it says “Join millions learning chess on the world’s #1 learning app.” - Aa2.19The text is
#afafaf on #ffffff · 4 times on https://www.duolingo.com/chess · it says “Bite-sized learning” - Aa4.47The text is
#777777 on #ffffff · 4 times on https://www.duolingo.com/chess · it says “Learn the game one piece, one puzzle, one tactic at a time.” - Aa1.83The text is
#bfbfbf on #ffffff · 8 times on https://www.duolingo.com/chess · it says “Duolingo” - Aa4.47The text is
#777777 on #ffffff · 5 times on https://www.duolingo.com/math · it says “A built-in tutor helps motivate kids to keep learning with tips and support.” - Aa1.83The text is
#bfbfbf on #ffffff · 8 times on https://www.duolingo.com/math · it says “Duolingo” - Aa2.08The text is
#58cc02 on #ffffff · 5 times on https://www.duolingo.com/course/es/en/Learn-Spanish · it says “free. fun. effective.” - Aa4.47The text is
#777777 on #ffffff · 4 times on https://www.duolingo.com/course/es/en/Learn-Spanish · it says “Learning with Duolingo is fun, and research shows that it works! With quick, bite-sized le” - Aa2.44The text is
#1cb0f6 on #ffffff · once on https://www.duolingo.com/course/es/en/Learn-Spanish · it says “research shows that it works” - Aa1.87The text is
#d7ffb8 on #58cc02 · 11 times on https://www.duolingo.com/course/es/en/Learn-Spanish · it says “About us” - Aa1.48The text is
#a5ed6e on #58cc02 · 45 times on https://www.duolingo.com/course/es/en/Learn-Spanish · it says “Courses” - Aa2.19The text is
#afafaf on #ffffff · once on https://www.duolingo.com/courses · it says “I speak English” - Aa4.47The text is
#777777 on #ffffff · 40 times on https://www.duolingo.com/courses · it says “41.9M learners” - Aa4.18The text is
#777777 on #f7f7f7 · once on https://www.duolingo.com/courses · it says “iOS and Android only” - Aa2.08The text is
#58cc02 on #ffffff · once on https://about.duolingo.com/ · it says “Our mission” - Aa4.47The text is
#777777 on #ffffff · 13 times on https://about.duolingo.com/ · it says “The world’s most popular language learning app.” - Aa2.44The text is
#1cb0f6 on #ffffff · 10 times on https://about.duolingo.com/ · it says “Learn more” - Aa2.19The text is
#afafaf on #ffffff · 32 times on https://about.duolingo.com/ · it says “Duolingo app” - Aa2.08The text is
#58cc02 on #ffffff · 3 times on https://www.duolingo.com/efficacy · it says “duolingo works” - Aa2.44The text is
#1cb0f6 on #ffffff · 9 times on https://www.duolingo.com/efficacy · it says “teaching method” - Aa2.19The text is
#afafaf on #ffffff · 9 times on https://www.duolingo.com/efficacy · it says “1:47” - Aa1.83The text is
#bfbfbf on #ffffff · 8 times on https://www.duolingo.com/efficacy · it says “Duolingo” - Aa2.46The text is
#a5a5a5 on #ffffff · 12 times on https://blog.duolingo.com/handbook/ · it says “February 10, 2025” - Aa2.44The text is
#ffffff on #1cb0f6 · 2 times on https://blog.duolingo.com/handbook/ · it says “DOWNLOAD THE HANDBOOK” - Aa2.71The text is
#009be4 on #ddf4ff · once on https://blog.duolingo.com/handbook/ · it says “Life at Duolingo” - Aa2.19The text is
#afafaf on #ffffff · 36 times on https://blog.duolingo.com/handbook/ · it says “About us” - Aa2.19The text is
#afafaf on #ffffff · once on https://www.duolingo.com/ · it says “Site language: English” - Aa2.19The text is
#afafaf on #ffffff · once on https://www.duolingo.com/register · it says “Site language: English” - Aa2.19The text is
#afafaf on #ffffff · once on https://www.duolingo.com/course/en/en/Learn-English · it says “Site language: English” - Aa2.02The text is
#afafaf on #e6faf5 · once on https://www.duolingo.com/chess · it says “Site language: English” - Aa2.19The text is
#afafaf on #ffffff · once on https://www.duolingo.com/course/es/en/Learn-Spanish · it says “Site language: English” - Aa2.44The text is
#ffffff on #1cb0f6 · once on https://www.duolingo.com/courses · it says “Site language: English” - Aa2.08The text is
#58cc02 on #ffffff · once on https://blog.duolingo.com/handbook/ · it says “The Duolingo Handbook” - Aa4.47The text is
#777777 on #ffffff · 7 times on https://blog.duolingo.com/handbook/ · it says “How Duolingo works: 14 years of big learnings in one little handbook.”
About this check: Partial. Visible focus does not show in a still capture, so we did not check it.
If you decide to change it: Change one color in the stylesheet. We have not tested the change, so we do not know what else is affected.
On 6 of the 11 pages we reviewed, we found images without alt text.
F1 · Computed accessibility
Why it matters: A screen reader cannot describe them.
It appears on 6 of the 11 pages we reviewed. Among them: /, /register, /chess. Plus 3 more.
at both widths
We found no alt attribute on those images. A decorative image is declared with alt="", and we do not count those here.
The count for each page
- https://www.duolingo.com/ · 42
- https://www.duolingo.com/register · 42
- https://www.duolingo.com/chess · 8
- https://www.duolingo.com/math · 12
- https://www.duolingo.com/courses · 43
- https://www.duolingo.com/efficacy · 6
About this check: Partial. Visible focus does not show in a still capture, so we did not check it.
If you decide to change it: One attribute per image. We have not tested the change, so we do not know what else is affected.
This site asks the browser not to allow zooming in on a phone.
F1 · Computed accessibility
The viewport tag declares user-scalable=no. Some browsers ignore that request and others respect it.
It appears on 8 of the 11 pages we reviewed. Among them: /, /register, /course/en/en/Learn-English. Plus 5 more.
at both widths
It is in the viewport tag, in maximum-scale=1 or in user-scalable=no.
Where it is
meta[name=viewport]
About this check: Partial. Visible focus does not show in a still capture, so we did not check it.
If you decide to change it: Remove that value from one line. We have not tested the change, so we do not know what else is affected.
We found no search engine description on 1 of the 11 pages we reviewed.
F5 · Metadata and shareability
Why it matters: Google chooses on its own which snippet to show under the title.
It is on https://about.duolingo.com/.
at both widths
We found no <meta name="description"> tag on those pages.
The count for each page
- https://about.duolingo.com/ · 1
If you decide to change it: One line in the page head. We have not tested the change, so we do not know what else is affected.
We found nothing on this page that says how it should look when shared.
F5 · Metadata and shareability
Why it matters: When the link is pasted into WhatsApp or LinkedIn, each one improvises the title and the image.
It is on https://about.duolingo.com/.
at both widths
We found no Open Graph tags: og:title, og:description and og:image.
If you decide to change it: Three lines in the page head. We have not tested the change, so we do not know what else is affected.
On 10 of the 11 pages we reviewed, there are external domains that load before anyone touches anything. On the page with the most, there are 10.
F6 · Third parties and consent
They showed up in the first load, before we answered the cookie notice on 9 of the 11 pages in this review. It is what someone finds when they arrive at the site and have not answered yet.
Among them: accounts.google.com, cdn.cookielaw.org, d35aaqx5ub95lt.cloudfront.net. Plus 12 more.
It appears on 10 of the 11 pages we reviewed. Among them: /, /register, /course/en/en/Learn-English. Plus 7 more.
at both widths
The count for each page
- https://www.duolingo.com/ · 8
- https://www.duolingo.com/register · 8
- https://www.duolingo.com/course/en/en/Learn-English · 8
- https://www.duolingo.com/chess · 8
- https://www.duolingo.com/math · 8
- https://www.duolingo.com/course/es/en/Learn-Spanish · 8
- https://www.duolingo.com/cookies · 8
- https://www.duolingo.com/courses · 8
- https://www.duolingo.com/efficacy · 8
- https://blog.duolingo.com/handbook/ · 10
About this check: Partial. This check only covers the domains the page called while loading. We removed the cookie notice by rejecting it. We do not judge whether what the page does with those domains is lawful.
No fix proposed: this is a decision worth consulting on.
On 3 of the 11 pages we reviewed, there are headings that skip levels.
F1 · Computed accessibility
Why it matters: Anyone navigating by headings loses the thread of the document.
It appears on 3 of the 11 pages we reviewed. Among them: /course/en/en/Learn-English, /course/es/en/Learn-Spanish, https://blog.duolingo.com/handbook/.
at both widths
We look at the order of the heading levels (h1, h2, h3…) as they appear in the document, and here there is a skip between levels. We do not judge what each heading says.
The count for each page
- https://www.duolingo.com/course/en/en/Learn-English · 1
- https://www.duolingo.com/course/es/en/Learn-Spanish · 1
- https://blog.duolingo.com/handbook/ · 2
About this check: Partial. Visible focus does not show in a still capture, so we did not check it.
If you decide to change it: Change the level of the tag, not how it looks. We have not tested the change, so we do not know what else is affected.