Website report

Tailwind CSS

tailwindcss.com·🇺🇸 United States · Tech & dev tools

Measured

Global rank#253
GradeA

Your result

1 broken link to fix.

Link health
99.50/100

Healthy links in the sample

Quality checklist
69.54/100

Scored technical checks

Broken links
1

Confirmed in sample

200 links verified · 0 unknown · 13 selected source pages · 100% of selected destinations verified. Sample only. Unknown links are not counted as broken.

What to fix first

View all priorities →

Includes issues from the extended diagnostic report.

  1. Fix 2 diagnostic broken links

    Start with navigation and internal links so visitors can reach your pages.

  2. Self-referencing canonical

    Declare exactly one <link rel="canonical"> whose absolute URL is this page's own final URL (same scheme, host, path and query; only a trailing slash or fragment may differ). Cross-URL canonicals belong on duplicate pages, not on the indexable page itself. Reference: Google Search Central, canonicalization.

  3. Structured data syntax

    Provide JSON-LD with @context and @type (or a typed @graph). Match the markup to the visible content; syntax alone does not validate its meaning. Reference: schema.org and Google structured data guidelines.

Fix with your coding assistant

Copy a ready-to-use prompt with the issues and affected URLs.

Your path to S-Tier

Not yet S-Tier

Healthy links, every scored requirement passed, and complete evidence in the selected sample.

  • Fix every confirmed broken link in the selected sample.
  • Pass all scored quality requirements across the five categories.
  • Verify every required check and selected destination; incomplete or retained evidence cannot unlock the badge.
How this result qualifies

Verified internal navigation

At least 10 internal destinations were verified. Unknown items do not disqualify the site; confirmed checklist failures reduce quality.

99.50/100 link health · 69.54/100 quality · 200 internal destinations

New comparison baseline. A change in coverage is not a verified improvement.

The diagnostic report below may cover additional pages and external links. Only the stored competitive sample determines the ranking. At least 10 verified internal links are required; unavailable checklist items do not exclude a site. How scoring works

Explore issues & evidenceConfirmed issues, suggested fixes and the evidence behind them.
2 diagnostic broken links100 pages readExtended evidence may include links outside the badge sample.
Latest competitive sample and evidence · 69.54/100 quality

At least 10 internal destinations were verified. Unknown items do not disqualify the site; confirmed checklist failures reduce quality. The available outcomes agreed between passes.

13 selected source URLs · 200 internal destinations. 200 evaluated · 0 unknown · 0 using previous evidence. The expanded diagnostic report follows below.

SEO
60.00/100
Accessibility
82.54/100
Structure
56.35/100
Sharing
85.71/100
Security
75.00/100
Selected pages
  • https://tailwindcss.com/
  • https://tailwindcss.com/blog
  • https://tailwindcss.com/docs
  • https://tailwindcss.com/partners
  • https://tailwindcss.com/plus/templates?ref=footer
  • https://tailwindcss.com/plus/ui-blocks?ref=footer
  • https://tailwindcss.com/plus/ui-kit?ref=footer
  • https://tailwindcss.com/plus?ref=footer
  • https://tailwindcss.com/showcase
  • https://tailwindcss.com/brand
  • https://tailwindcss.com/docs/installation
  • https://tailwindcss.com/plus?ref=home
  • https://tailwindcss.com/plus?ref=top
Internal link verdicts and weights
  • ok · weight 6 · https://play.tailwindcss.com/
  • ok · weight 6 · https://tailwindcss.com/blog
  • broken · weight 6 · https://tailwindcss.com/build-uis-that-dont-suck
  • ok · weight 6 · https://tailwindcss.com/docs
  • ok · weight 6 · https://tailwindcss.com/docs/accent-color
  • ok · weight 6 · https://tailwindcss.com/docs/adding-custom-styles
  • ok · weight 6 · https://tailwindcss.com/docs/align-content
  • ok · weight 6 · https://tailwindcss.com/docs/align-items
  • ok · weight 6 · https://tailwindcss.com/docs/align-self
  • ok · weight 6 · https://tailwindcss.com/docs/animation
  • ok · weight 6 · https://tailwindcss.com/docs/appearance
  • ok · weight 6 · https://tailwindcss.com/docs/aspect-ratio
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-blur
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-brightness
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-contrast
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-grayscale
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-hue-rotate
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-invert
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-opacity
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-saturate
  • ok · weight 6 · https://tailwindcss.com/docs/backdrop-filter-sepia
  • ok · weight 6 · https://tailwindcss.com/docs/backface-visibility
  • ok · weight 6 · https://tailwindcss.com/docs/background-attachment
  • ok · weight 6 · https://tailwindcss.com/docs/background-blend-mode
  • ok · weight 6 · https://tailwindcss.com/docs/background-clip
  • ok · weight 6 · https://tailwindcss.com/docs/background-color
  • ok · weight 6 · https://tailwindcss.com/docs/background-image
  • ok · weight 6 · https://tailwindcss.com/docs/background-origin
  • ok · weight 6 · https://tailwindcss.com/docs/background-position
  • ok · weight 6 · https://tailwindcss.com/docs/background-repeat
  • ok · weight 6 · https://tailwindcss.com/docs/background-size
  • ok · weight 6 · https://tailwindcss.com/docs/block-size
  • ok · weight 6 · https://tailwindcss.com/docs/border-collapse
  • ok · weight 6 · https://tailwindcss.com/docs/border-color
  • ok · weight 6 · https://tailwindcss.com/docs/border-radius
  • ok · weight 6 · https://tailwindcss.com/docs/border-spacing
  • ok · weight 6 · https://tailwindcss.com/docs/border-style
  • ok · weight 6 · https://tailwindcss.com/docs/border-width
  • ok · weight 6 · https://tailwindcss.com/docs/box-decoration-break
  • ok · weight 6 · https://tailwindcss.com/docs/box-shadow
  • ok · weight 6 · https://tailwindcss.com/docs/box-sizing
  • ok · weight 6 · https://tailwindcss.com/docs/break-after
  • ok · weight 6 · https://tailwindcss.com/docs/break-before
  • ok · weight 6 · https://tailwindcss.com/docs/break-inside
  • ok · weight 6 · https://tailwindcss.com/docs/caption-side
  • ok · weight 6 · https://tailwindcss.com/docs/caret-color
  • ok · weight 6 · https://tailwindcss.com/docs/clear
  • ok · weight 6 · https://tailwindcss.com/docs/color
  • ok · weight 6 · https://tailwindcss.com/docs/color-scheme
  • ok · weight 6 · https://tailwindcss.com/docs/colors
  • ok · weight 6 · https://tailwindcss.com/docs/columns
  • ok · weight 6 · https://tailwindcss.com/docs/compatibility
  • ok · weight 6 · https://tailwindcss.com/docs/content
  • ok · weight 6 · https://tailwindcss.com/docs/cursor
  • ok · weight 6 · https://tailwindcss.com/docs/dark-mode
  • ok · weight 6 · https://tailwindcss.com/docs/detecting-classes-in-source-files
  • ok · weight 6 · https://tailwindcss.com/docs/display
  • ok · weight 6 · https://tailwindcss.com/docs/editor-setup
  • ok · weight 6 · https://tailwindcss.com/docs/field-sizing
  • ok · weight 6 · https://tailwindcss.com/docs/fill
  • ok · weight 6 · https://tailwindcss.com/docs/filter
  • ok · weight 6 · https://tailwindcss.com/docs/filter-blur
  • ok · weight 6 · https://tailwindcss.com/docs/filter-brightness
  • ok · weight 6 · https://tailwindcss.com/docs/filter-contrast
  • ok · weight 6 · https://tailwindcss.com/docs/filter-drop-shadow
  • ok · weight 6 · https://tailwindcss.com/docs/filter-grayscale
  • ok · weight 6 · https://tailwindcss.com/docs/filter-hue-rotate
  • ok · weight 6 · https://tailwindcss.com/docs/filter-invert
  • ok · weight 6 · https://tailwindcss.com/docs/filter-saturate
  • ok · weight 6 · https://tailwindcss.com/docs/filter-sepia
  • ok · weight 6 · https://tailwindcss.com/docs/flex
  • ok · weight 6 · https://tailwindcss.com/docs/flex-basis
  • ok · weight 6 · https://tailwindcss.com/docs/flex-direction
  • ok · weight 6 · https://tailwindcss.com/docs/flex-grow
  • ok · weight 6 · https://tailwindcss.com/docs/flex-shrink
  • ok · weight 6 · https://tailwindcss.com/docs/flex-wrap
  • ok · weight 6 · https://tailwindcss.com/docs/float
  • ok · weight 6 · https://tailwindcss.com/docs/font-family
  • ok · weight 6 · https://tailwindcss.com/docs/font-feature-settings
  • ok · weight 6 · https://tailwindcss.com/docs/font-size
  • ok · weight 6 · https://tailwindcss.com/docs/font-smoothing
  • ok · weight 6 · https://tailwindcss.com/docs/font-stretch
  • ok · weight 6 · https://tailwindcss.com/docs/font-style
  • ok · weight 6 · https://tailwindcss.com/docs/font-variant-numeric
  • ok · weight 6 · https://tailwindcss.com/docs/font-weight
  • ok · weight 6 · https://tailwindcss.com/docs/forced-color-adjust
  • ok · weight 6 · https://tailwindcss.com/docs/functions-and-directives
  • ok · weight 6 · https://tailwindcss.com/docs/gap
  • ok · weight 6 · https://tailwindcss.com/docs/grid-auto-columns
  • ok · weight 6 · https://tailwindcss.com/docs/grid-auto-flow
  • ok · weight 6 · https://tailwindcss.com/docs/grid-auto-rows
  • ok · weight 6 · https://tailwindcss.com/docs/grid-column
  • ok · weight 6 · https://tailwindcss.com/docs/grid-row
  • ok · weight 6 · https://tailwindcss.com/docs/grid-template-columns
  • ok · weight 6 · https://tailwindcss.com/docs/grid-template-rows
  • ok · weight 6 · https://tailwindcss.com/docs/height
  • ok · weight 6 · https://tailwindcss.com/docs/hover-focus-and-other-states
  • ok · weight 6 · https://tailwindcss.com/docs/hyphens
  • ok · weight 6 · https://tailwindcss.com/docs/inline-size
  • ok · weight 6 · https://tailwindcss.com/docs/installation
  • ok · weight 6 · https://tailwindcss.com/docs/isolation
  • ok · weight 6 · https://tailwindcss.com/docs/justify-content
  • ok · weight 6 · https://tailwindcss.com/docs/justify-items
  • ok · weight 6 · https://tailwindcss.com/docs/justify-self
  • ok · weight 6 · https://tailwindcss.com/docs/letter-spacing
  • ok · weight 6 · https://tailwindcss.com/docs/line-clamp
  • ok · weight 6 · https://tailwindcss.com/docs/line-height
  • ok · weight 6 · https://tailwindcss.com/docs/list-style-image
  • ok · weight 6 · https://tailwindcss.com/docs/list-style-position
  • ok · weight 6 · https://tailwindcss.com/docs/list-style-type
  • ok · weight 6 · https://tailwindcss.com/docs/margin
  • ok · weight 6 · https://tailwindcss.com/docs/mask-clip
  • ok · weight 6 · https://tailwindcss.com/docs/mask-composite
  • ok · weight 6 · https://tailwindcss.com/docs/mask-image
  • ok · weight 6 · https://tailwindcss.com/docs/mask-mode
  • ok · weight 6 · https://tailwindcss.com/docs/mask-origin
  • ok · weight 6 · https://tailwindcss.com/docs/mask-position
  • ok · weight 6 · https://tailwindcss.com/docs/mask-repeat
  • ok · weight 6 · https://tailwindcss.com/docs/mask-size
  • ok · weight 6 · https://tailwindcss.com/docs/mask-type
  • ok · weight 6 · https://tailwindcss.com/docs/max-block-size
  • ok · weight 6 · https://tailwindcss.com/docs/max-height
  • ok · weight 6 · https://tailwindcss.com/docs/max-inline-size
  • ok · weight 6 · https://tailwindcss.com/docs/max-width
  • ok · weight 6 · https://tailwindcss.com/docs/min-block-size
  • ok · weight 6 · https://tailwindcss.com/docs/min-height
  • ok · weight 6 · https://tailwindcss.com/docs/min-inline-size
  • ok · weight 6 · https://tailwindcss.com/docs/min-width
  • ok · weight 6 · https://tailwindcss.com/docs/mix-blend-mode
  • ok · weight 6 · https://tailwindcss.com/docs/object-fit
  • ok · weight 6 · https://tailwindcss.com/docs/object-position
  • ok · weight 6 · https://tailwindcss.com/docs/opacity
  • ok · weight 6 · https://tailwindcss.com/docs/order
  • ok · weight 6 · https://tailwindcss.com/docs/outline-color
  • ok · weight 6 · https://tailwindcss.com/docs/outline-offset
  • ok · weight 6 · https://tailwindcss.com/docs/outline-style
  • ok · weight 6 · https://tailwindcss.com/docs/outline-width
  • ok · weight 6 · https://tailwindcss.com/docs/overflow
  • ok · weight 6 · https://tailwindcss.com/docs/overflow-wrap
  • ok · weight 6 · https://tailwindcss.com/docs/overscroll-behavior
  • ok · weight 6 · https://tailwindcss.com/docs/padding
  • ok · weight 6 · https://tailwindcss.com/docs/perspective
  • ok · weight 6 · https://tailwindcss.com/docs/perspective-origin
  • ok · weight 6 · https://tailwindcss.com/docs/place-content
  • ok · weight 6 · https://tailwindcss.com/docs/place-items
  • ok · weight 6 · https://tailwindcss.com/docs/place-self
  • ok · weight 6 · https://tailwindcss.com/docs/pointer-events
  • ok · weight 6 · https://tailwindcss.com/docs/position
  • ok · weight 6 · https://tailwindcss.com/docs/preflight
  • ok · weight 6 · https://tailwindcss.com/docs/resize
  • ok · weight 6 · https://tailwindcss.com/docs/responsive-design
  • ok · weight 6 · https://tailwindcss.com/docs/rotate
  • ok · weight 6 · https://tailwindcss.com/docs/scale
  • ok · weight 6 · https://tailwindcss.com/docs/scroll-behavior
  • ok · weight 6 · https://tailwindcss.com/docs/scroll-margin
  • ok · weight 6 · https://tailwindcss.com/docs/scroll-padding
  • ok · weight 6 · https://tailwindcss.com/docs/scroll-snap-align
  • ok · weight 6 · https://tailwindcss.com/docs/scroll-snap-stop
  • ok · weight 6 · https://tailwindcss.com/docs/scroll-snap-type
  • ok · weight 6 · https://tailwindcss.com/docs/scrollbar-color
  • ok · weight 6 · https://tailwindcss.com/docs/scrollbar-gutter
  • ok · weight 6 · https://tailwindcss.com/docs/scrollbar-width
  • ok · weight 6 · https://tailwindcss.com/docs/skew
  • ok · weight 6 · https://tailwindcss.com/docs/stroke
  • ok · weight 6 · https://tailwindcss.com/docs/stroke-width
  • ok · weight 6 · https://tailwindcss.com/docs/styling-with-utility-classes
  • ok · weight 6 · https://tailwindcss.com/docs/tab-size
  • ok · weight 6 · https://tailwindcss.com/docs/table-layout
  • ok · weight 6 · https://tailwindcss.com/docs/text-align
  • ok · weight 6 · https://tailwindcss.com/docs/text-decoration-color
  • ok · weight 6 · https://tailwindcss.com/docs/text-decoration-line
  • ok · weight 6 · https://tailwindcss.com/docs/text-decoration-style
  • ok · weight 6 · https://tailwindcss.com/docs/text-decoration-thickness
  • ok · weight 6 · https://tailwindcss.com/docs/text-indent
  • ok · weight 6 · https://tailwindcss.com/docs/text-overflow
  • ok · weight 6 · https://tailwindcss.com/docs/text-shadow
  • ok · weight 6 · https://tailwindcss.com/docs/text-transform
  • ok · weight 6 · https://tailwindcss.com/docs/text-underline-offset
  • ok · weight 6 · https://tailwindcss.com/docs/text-wrap
  • ok · weight 6 · https://tailwindcss.com/docs/theme
  • ok · weight 6 · https://tailwindcss.com/docs/top-right-bottom-left
  • ok · weight 6 · https://tailwindcss.com/docs/touch-action
  • ok · weight 6 · https://tailwindcss.com/docs/transform
  • ok · weight 6 · https://tailwindcss.com/docs/transform-origin
  • ok · weight 6 · https://tailwindcss.com/docs/transform-style
  • ok · weight 6 · https://tailwindcss.com/docs/transition-behavior
  • ok · weight 6 · https://tailwindcss.com/docs/transition-delay
  • ok · weight 6 · https://tailwindcss.com/docs/transition-duration
  • ok · weight 6 · https://tailwindcss.com/docs/transition-property
  • ok · weight 6 · https://tailwindcss.com/docs/transition-timing-function
  • ok · weight 6 · https://tailwindcss.com/docs/translate
  • ok · weight 6 · https://tailwindcss.com/docs/upgrade-guide
  • ok · weight 6 · https://tailwindcss.com/docs/user-select
  • ok · weight 6 · https://tailwindcss.com/docs/vertical-align
  • ok · weight 6 · https://tailwindcss.com/docs/visibility
  • ok · weight 6 · https://tailwindcss.com/docs/white-space
  • ok · weight 6 · https://tailwindcss.com/docs/width
  • ok · weight 6 · https://tailwindcss.com/docs/will-change
  • ok · weight 6 · https://tailwindcss.com/docs/word-break
Scoring checks
  • Page title: passed · 7/7 applicable observations

    https://tailwindcss.com/: Tailwind CSS - Rapidly build modern websites without ever leaving your HTML.

    https://tailwindcss.com/blog: Blog - Tailwind CSS

    https://tailwindcss.com/docs/installation: Installing Tailwind CSS with Vite - Tailwind CSS

    https://tailwindcss.com/partners: Partners - Tailwind CSS

    https://tailwindcss.com/plus?ref=top: Login - Tailwind Plus

  • Distinct page titles: passed · 7/7 applicable observations

    https://tailwindcss.com/: Tailwind CSS - Rapidly build modern websites without ever leaving your HTML.

    https://tailwindcss.com/blog: Blog - Tailwind CSS

    https://tailwindcss.com/docs/installation: Installing Tailwind CSS with Vite - Tailwind CSS

    https://tailwindcss.com/partners: Partners - Tailwind CSS

    https://tailwindcss.com/plus?ref=top: Login - Tailwind Plus

  • Meta description: passed · 7/7 applicable observations

    https://tailwindcss.com/: Tailwind CSS is a utility-first CSS framework for rapidly building modern websites without ever leaving your HTML.

    https://tailwindcss.com/blog: All the latest Tailwind CSS news, straight from the team.

    https://tailwindcss.com/docs/installation: Installing Tailwind CSS as a Vite plugin is the most seamless way to integrate it with frameworks like Laravel, SvelteKit, React Router, Nuxt, and SolidJS.

    https://tailwindcss.com/partners: Become a Tailwind CSS partner to support the project and get your brand in front of millions of developers.

    https://tailwindcss.com/plus?ref=top: Beautiful UI components and templates by the creators of Tailwind CSS.

  • Self-referencing canonical: failed · 0/7 applicable observations

    https://tailwindcss.com/: No canonical URL

    https://tailwindcss.com/blog: No canonical URL

    https://tailwindcss.com/docs/installation: No canonical URL

    https://tailwindcss.com/partners: No canonical URL

    https://tailwindcss.com/plus?ref=top: No canonical URL

  • Main heading: passed · 7/7 applicable observations

    https://tailwindcss.com/: 1 H1 element(s)

    https://tailwindcss.com/blog: 1 H1 element(s)

    https://tailwindcss.com/docs/installation: 1 H1 element(s)

    https://tailwindcss.com/partners: 1 H1 element(s)

    https://tailwindcss.com/plus?ref=top: 1 H1 element(s)

  • Heading hierarchy: failed · 4/7 applicable observations

    https://tailwindcss.com/blog: 1 skipped heading level(s)

    https://tailwindcss.com/docs/installation: 1 skipped heading level(s)

    https://tailwindcss.com/brand: 1 skipped heading level(s)

    https://tailwindcss.com/: 0 skipped heading level(s)

    https://tailwindcss.com/partners: 0 skipped heading level(s)

  • Main landmark: failed · 1/7 applicable observations

    https://tailwindcss.com/: 0 main landmarks

    https://tailwindcss.com/blog: 0 main landmarks

    https://tailwindcss.com/docs/installation: 0 main landmarks

    https://tailwindcss.com/partners: 0 main landmarks

    https://tailwindcss.com/showcase: 0 main landmarks

  • Mobile viewport: passed · 7/7 applicable observations

    https://tailwindcss.com/: width=device-width, initial-scale=1

    https://tailwindcss.com/blog: width=device-width, initial-scale=1

    https://tailwindcss.com/docs/installation: width=device-width, initial-scale=1

    https://tailwindcss.com/partners: width=device-width, initial-scale=1

    https://tailwindcss.com/plus?ref=top: width=device-width, initial-scale=1.0

  • Image dimensions declared: failed · 2/3 applicable observations

    https://tailwindcss.com/: 24 of 40 images lack width/height attributes or an aspect-ratio style

    https://tailwindcss.com/blog: 0 of 0 images lack width/height attributes or an aspect-ratio style

    https://tailwindcss.com/docs/installation: 0 of 0 images lack width/height attributes or an aspect-ratio style

    https://tailwindcss.com/partners: 0 of 0 images lack width/height attributes or an aspect-ratio style

    https://tailwindcss.com/plus?ref=top: 0 of 0 images lack width/height attributes or an aspect-ratio style

  • Structured data syntax: failed · 0/7 applicable observations

    https://tailwindcss.com/: 0 of 0 blocks have valid JSON-LD structure

    https://tailwindcss.com/blog: 0 of 0 blocks have valid JSON-LD structure

    https://tailwindcss.com/docs/installation: 0 of 0 blocks have valid JSON-LD structure

    https://tailwindcss.com/partners: 0 of 0 blocks have valid JSON-LD structure

    https://tailwindcss.com/plus?ref=top: 0 of 0 blocks have valid JSON-LD structure

  • Document language: passed · 7/7 applicable observations

    https://tailwindcss.com/: en

    https://tailwindcss.com/blog: en

    https://tailwindcss.com/docs/installation: en

    https://tailwindcss.com/partners: en

    https://tailwindcss.com/plus?ref=top: en

  • Image alternatives declared: failed · 2/3 applicable observations

    https://tailwindcss.com/: 2 of 40 images lack an alt attribute

    https://tailwindcss.com/blog: 0 of 0 images lack an alt attribute

    https://tailwindcss.com/docs/installation: 0 of 0 images lack an alt attribute

    https://tailwindcss.com/partners: 0 of 0 images lack an alt attribute

    https://tailwindcss.com/plus?ref=top: 0 of 0 images lack an alt attribute

  • Form controls named: passed · 2/2 applicable observations

    https://tailwindcss.com/: 0 of 0 controls have no HTML label

    https://tailwindcss.com/docs/installation: 0 of 0 controls have no HTML label

    https://tailwindcss.com/partners: 0 of 0 controls have no HTML label

    https://tailwindcss.com/showcase: 0 of 0 controls have no HTML label

    https://tailwindcss.com/brand: 0 of 0 controls have no HTML label

  • Buttons named: failed · 6/7 applicable observations

    https://tailwindcss.com/docs/installation: 6 of 11 buttons have no HTML name

    https://tailwindcss.com/: 0 of 12 buttons have no HTML name

    https://tailwindcss.com/blog: 0 of 5 buttons have no HTML name

    https://tailwindcss.com/partners: 0 of 24 buttons have no HTML name

    https://tailwindcss.com/plus?ref=top: 0 of 1 buttons have no HTML name

  • Links named: failed · 4/7 applicable observations

    https://tailwindcss.com/: 33 of 80 links have no HTML name

    https://tailwindcss.com/plus?ref=top: 1 of 2 links have no HTML name

    https://tailwindcss.com/showcase: 57 of 87 links have no HTML name

    https://tailwindcss.com/blog: 0 of 193 links have no HTML name

    https://tailwindcss.com/docs/installation: 0 of 234 links have no HTML name

  • Descriptive link text: failed · 6/7 applicable observations

    https://tailwindcss.com/blog: 63 of 193 links use generic text: "read more"

    https://tailwindcss.com/: 0 of 80 links use generic text

    https://tailwindcss.com/docs/installation: 0 of 234 links use generic text

    https://tailwindcss.com/partners: 0 of 72 links use generic text

    https://tailwindcss.com/plus?ref=top: 0 of 2 links use generic text

  • Open Graph title: passed · 7/7 applicable observations

    https://tailwindcss.com/: Tailwind CSS - Rapidly build modern websites without ever leaving your HTML.

    https://tailwindcss.com/blog: Latest updates - Blog

    https://tailwindcss.com/docs/installation: Installing with Vite - Installation

    https://tailwindcss.com/partners: Partners - Tailwind CSS

    https://tailwindcss.com/plus?ref=top: Login - Tailwind Plus

  • Open Graph description: passed · 7/7 applicable observations

    https://tailwindcss.com/: Tailwind CSS is a utility-first CSS framework for rapidly building modern websites without ever leaving your HTML.

    https://tailwindcss.com/blog: All the latest Tailwind CSS news, straight from the team.

    https://tailwindcss.com/docs/installation: Integrate Tailwind CSS with frameworks like Laravel, SvelteKit, React Router, and SolidJS.

    https://tailwindcss.com/partners: Become a Tailwind CSS partner to support the project and get your brand in front of millions of developers.

    https://tailwindcss.com/plus?ref=top: Beautiful UI components and templates by the creators of Tailwind CSS.

  • Open Graph type: failed · 6/7 applicable observations

    https://tailwindcss.com/: No og:type

    https://tailwindcss.com/blog: article

    https://tailwindcss.com/docs/installation: article

    https://tailwindcss.com/partners: article

    https://tailwindcss.com/plus?ref=top: article

  • Open Graph URL: failed · 6/7 applicable observations

    https://tailwindcss.com/: No og:url

    https://tailwindcss.com/blog: https://tailwindcss.com/blog

    https://tailwindcss.com/docs/installation: https://tailwindcss.com/docs/installation/using-vite

    https://tailwindcss.com/partners: https://tailwindcss.com/partners

    https://tailwindcss.com/plus?ref=top: https://tailwindcss.com

  • Open Graph image URL: passed · 7/7 applicable observations

    https://tailwindcss.com/: https://tailwindcss.com/opengraph-image.jpg?opengraph-image.0jwfhnd690..4.jpg

    https://tailwindcss.com/blog: https://tailwindcss.com/api/og?path=/blog

    https://tailwindcss.com/docs/installation: https://tailwindcss.com/api/og?path=/docs/installation/using-vite

    https://tailwindcss.com/partners: https://tailwindcss.com/partners/opengraph-image.jpg?opengraph-image.15tgz06kp9imr.jpg

    https://tailwindcss.com/plus?ref=top: https://tailwindcss.com/plus-assets/img/og/default.png

  • Open Graph image description: failed · 0/7 applicable observations

    https://tailwindcss.com/: No sharing image description

    https://tailwindcss.com/blog: No sharing image description

    https://tailwindcss.com/docs/installation: No sharing image description

    https://tailwindcss.com/partners: No sharing image description

    https://tailwindcss.com/plus?ref=top: No sharing image description

  • Social card type: passed · 7/7 applicable observations

    https://tailwindcss.com/: summary_large_image

    https://tailwindcss.com/blog: summary_large_image

    https://tailwindcss.com/docs/installation: summary_large_image

    https://tailwindcss.com/partners: summary_large_image

    https://tailwindcss.com/plus?ref=top: summary_large_image

  • HTTPS page: passed · 7/7 applicable observations

    https://tailwindcss.com/: https://tailwindcss.com/

    https://tailwindcss.com/blog: https://tailwindcss.com/blog

    https://tailwindcss.com/docs/installation: https://tailwindcss.com/docs/installation/using-vite

    https://tailwindcss.com/partners: https://tailwindcss.com/partners

    https://tailwindcss.com/plus?ref=top: https://tailwindcss.com/plus/login

  • No insecure embedded resources: passed · 7/7 applicable observations

    https://tailwindcss.com/: 0 HTTP embedded resource URL(s)

    https://tailwindcss.com/blog: 0 HTTP embedded resource URL(s)

    https://tailwindcss.com/docs/installation: 0 HTTP embedded resource URL(s)

    https://tailwindcss.com/partners: 0 HTTP embedded resource URL(s)

    https://tailwindcss.com/plus?ref=top: 0 HTTP embedded resource URL(s)

  • Homepage favicon available: passed · 1/1 applicable observations

    https://tailwindcss.com/favicons/favicon-32x32.png?v=4: HTTP 200; image/png

  • Homepage sharing image available: passed · 1/1 applicable observations

    https://tailwindcss.com/opengraph-image.jpg?opengraph-image.0jwfhnd690..4.jpg: HTTP 200; image/jpeg

  • Root sitemap available: failed · 0/1 applicable observations

    https://tailwindcss.com/sitemap.xml: HTTP 404; no sitemap root found

  • Rendered color contrast: unverified · 0/1 applicable observations

    https://tailwindcss.com/: Requires a browser or human assessment; excluded from points.

  • Keyboard and focus behavior: unverified · 0/1 applicable observations

    https://tailwindcss.com/: Requires a browser or human assessment; excluded from points.

  • HSTS declared: passed · 1/1 applicable observations

    https://tailwindcss.com/: Strict-Transport-Security: max-age=63072000

  • Content Security Policy declared: failed · 0/1 applicable observations

    https://tailwindcss.com/: No Content-Security-Policy header or meta element

Sample reference: 63467ab7a675b1247c0fc049e7d48fa5f25c6e3406d6fe44c1aedcbaa64b0583

Diagnostic checklist

13 passed · 20 need work · 3 not verified. Open a check for the evidence and suggested fix.

SEO
58.00
Sharing
88.56
HTTP response measurement

217 ms median to homepage response headers. Measurements: 114, 217, 253 ms.

Same crawler, three sequential requests, DNS and TLS included. Timing is diagnostic only and never decides a position. This is server/network response, not browser loading or Core Web Vitals.

Static checks inspect crawler-visible HTML; they do not certify accessibility or code quality.

SEO4 to improve
Page titlePassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Give each page a descriptive, non-empty <title>.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Distinct page titlesNeeds work

91/100 applicable observations passed. 0.91/1 checklist weight earned.

How to improve: Use a title that describes the purpose of this page rather than repeating the same title across URLs.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Meta descriptionNeeds work

99/100 applicable observations passed. 0.99/1 checklist weight earned.

How to improve: Add a non-empty meta name="description" that summarizes this page.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Self-referencing canonicalNeeds work

0/100 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Declare exactly one <link rel="canonical"> whose absolute URL is this page's own final URL (same scheme, host, path and query; only a trailing slash or fragment may differ). Cross-URL canonicals belong on duplicate pages, not on the indexable page itself. Reference: Google Search Central, canonicalization.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Root sitemap availableNeeds work

0/1 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Publish a sitemap URL set or index at /sitemap.xml. This checks its root, not every listed URL.

Accessibility5 to improve
Document languagePassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare a valid language tag on the html element, such as en or pt-BR.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Image alternatives declaredNeeds work

82/89 applicable observations passed. 0.92/1 checklist weight earned.

How to improve: Add alt text to informative images. Use alt="" for decorative images. This check does not judge text quality.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Form controls namedNeeds work

70/72 applicable observations passed. 0.97/1 checklist weight earned.

How to improve: Associate a label with each visible form control, or provide a non-empty aria-label / valid aria-labelledby.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Buttons namedNeeds work

95/100 applicable observations passed. 0.95/1 checklist weight earned.

How to improve: Give every button visible text or an accessible name, including icon-only buttons.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Rendered color contrastNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Check foreground/background contrast in the rendered page.

Keyboard and focus behaviorNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Test every interactive control with a keyboard and inspect focus visibility.

Structure4 to improve
Main headingPassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add a descriptive H1 identifying the main topic.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Heading hierarchyNeeds work

73/100 applicable observations passed. 0.73/1 checklist weight earned.

How to improve: Nest headings logically without skipping a level, starting with H1.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Main landmarkNeeds work

7/100 applicable observations passed. 0.07/1 checklist weight earned.

How to improve: Mark the main content with one <main> or role="main" landmark.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Mobile viewportPassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add meta name="viewport" with width=device-width and do not disable user zoom.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Image dimensions declaredNeeds work

74/89 applicable observations passed. 0.83/1 checklist weight earned.

How to improve: Declare width and height attributes (or an inline aspect-ratio style) on every visible <img> so the browser reserves space before the image loads. Reference: web.dev / Lighthouse "image elements have explicit width and height" (layout shift).

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Structured data syntaxNeeds work

0/100 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Provide JSON-LD with @context and @type (or a typed @graph). Match the markup to the visible content; syntax alone does not validate its meaning. Reference: schema.org and Google structured data guidelines.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Sharing4 to improve
Open Graph titlePassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Provide a non-empty og:title meta property.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph descriptionNeeds work

99/100 applicable observations passed. 0.99/1 checklist weight earned.

How to improve: Provide a non-empty og:description meta property.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph typeNeeds work

99/100 applicable observations passed. 0.99/1 checklist weight earned.

How to improve: Declare og:type, such as website or article.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph URLNeeds work

99/100 applicable observations passed. 0.99/1 checklist weight earned.

How to improve: Set og:url to an absolute HTTP(S) URL for this content.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph image URLPassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Set og:image to an absolute HTTP(S) image URL. Homepage image availability is checked separately.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Open Graph image descriptionNeeds work

0/100 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Describe the sharing image with og:image:alt.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Social card typePassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare twitter:card as summary or summary_large_image for a website card.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Homepage favicon availablePassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve a non-empty public image with an image Content-Type.

Homepage sharing image availablePassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve a non-empty public image with an image Content-Type.

Security1 to improve
HTTPS pagePassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve the page over HTTPS with a valid certificate.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

No insecure embedded resourcesPassed

100/100 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Use HTTPS for embedded script, image, stylesheet, frame, audio and video URLs.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

HSTS declaredPassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Send Strict-Transport-Security on HTTPS responses with max-age of at least 15552000 seconds (180 days); OWASP recommends one year and includeSubDomains. Reference: OWASP HTTP Strict Transport Security cheat sheet, MDN.

Content Security Policy declaredNeeds work

0/1 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Send a Content-Security-Policy header (or a <meta http-equiv="Content-Security-Policy"> on the page) that restricts script and resource sources. This check verifies presence, not policy strength. Reference: OWASP Content Security Policy cheat sheet, MDN.

AI access1 to improve
Content in initial HTMLNeeds work

93/100 applicable observations passed. 0.93/1 checklist weight earned.

How to improve: Render meaningful main content on the server so readers can access it without executing JavaScript.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Performance1 to improve
HTML transfer budgetNeeds work

92/100 applicable observations passed. 0.92/1 checklist weight earned.

How to improve: Keep the uncompressed HTML at or below 500 KB. Remove duplicated inline payloads and unnecessary markup.

Showing up to five examples, with failed observations first. Full per-page observations are listed below and available in the report API.

Repeated homepage HTTP responsePassed

1/1 applicable observations passed. Informational; excluded from points.

How to improve: Improve server response and CDN caching. Median of three requests; diagnostic only, never a ranking tiebreak.

Browser loading and Core Web VitalsNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Measure LCP, INP and CLS with browser and field tools.

Checklist quality-v4. Competitive weights: SEO 25%, Accessibility 25%, Structure 25%, Sharing 10%, Security 15%. AI access and Performance are diagnostic only. This expanded report may include pages outside the competitive sample. Unverified scored checks earn no points; not-applicable and manual checks are excluded. Full methodology and references.

HTTP response timings

HTTP response time measured by our crawler; not browser loading speed.

Pages inspected (100)

All 100 pages from this scan.

PageStatusTitleH1ms
https://tailwindcss.com/200Tailwind CSS - Rapidly build modern websites without ever leaving your HTML.
Page checklist evidence
  • title: passedTailwind CSS - Rapidly build modern websites without ever leaving your HTML.
  • description: passedTailwind CSS is a utility-first CSS framework for rapidly building modern websites without ever leaving your HTML.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed2 of 40 images lack an alt attribute
  • img-dimensions: failed24 of 40 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 12 buttons have no HTML name
  • links-named: failed33 of 80 links have no HTML name
  • link-text: passed0 of 80 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS - Rapidly build modern websites without ever leaving your HTML.
  • og-description: passedTailwind CSS is a utility-first CSS framework for rapidly building modern websites without ever leaving your HTML.
  • og-type: failedNo og:type
  • og-url: failedNo og:url
  • og-image: passedhttps://tailwindcss.com/opengraph-image.jpg?opengraph-image.0jwfhnd690..4.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed6132 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed878,001 bytes of HTML; budget 500,000
1634
https://tailwindcss.com/blog200Blog - Tailwind CSS
Page checklist evidence
  • title: passedBlog - Tailwind CSS
  • description: passedAll the latest Tailwind CSS news, straight from the team.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 193 links have no HTML name
  • link-text: failed63 of 193 links use generic text: "read more"
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLatest updates - Blog
  • og-description: passedAll the latest Tailwind CSS news, straight from the team.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog
  • og-image: passedhttps://tailwindcss.com/api/og?path=/blog
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed20335 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed2,069,782 bytes of HTML; budget 500,000
1217
https://tailwindcss.com/docs200Installing Tailwind CSS with Vite - Tailwind CSS
Page checklist evidence
  • title: passedInstalling Tailwind CSS with Vite - Tailwind CSS
  • description: passedInstalling Tailwind CSS as a Vite plugin is the most seamless way to integrate it with frameworks like Laravel, SvelteKit, React Router, Nuxt, and SolidJS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: failed6 of 11 buttons have no HTML name
  • links-named: passed0 of 234 links have no HTML name
  • link-text: passed0 of 234 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/installation/using-vite
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedInstalling with Vite - Installation
  • og-description: passedIntegrate Tailwind CSS with frameworks like Laravel, SvelteKit, React Router, and SolidJS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/installation/using-vite
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/installation/using-vite
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed5020 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed329,738 bytes of HTML; budget 500,000
1273
https://tailwindcss.com/partners200Partners - Tailwind CSS
Page checklist evidence
  • title: passedPartners - Tailwind CSS
  • description: passedBecome a Tailwind CSS partner to support the project and get your brand in front of millions of developers.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 24 buttons have no HTML name
  • links-named: passed0 of 72 links have no HTML name
  • link-text: passed0 of 72 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/partners
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedPartners - Tailwind CSS
  • og-description: passedBecome a Tailwind CSS partner to support the project and get your brand in front of millions of developers.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/partners
  • og-image: passedhttps://tailwindcss.com/partners/opengraph-image.jpg?opengraph-image.15tgz06kp9imr.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4457 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed398,141 bytes of HTML; budget 500,000
1348
https://tailwindcss.com/plus/templates?ref=footer200Login - Tailwind Plus
Page checklist evidence
  • title: passedLogin - Tailwind Plus
  • description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 2 links have no HTML name
  • link-text: passed0 of 2 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://tailwindcss.com/plus/login
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLogin - Tailwind Plus
  • og-description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com
  • og-image: passedhttps://tailwindcss.com/plus-assets/img/og/default.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: failed83 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed21,256 bytes of HTML; budget 500,000
1442
https://tailwindcss.com/plus/ui-blocks?ref=footer200Login - Tailwind Plus
Page checklist evidence
  • title: passedLogin - Tailwind Plus
  • description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 2 links have no HTML name
  • link-text: passed0 of 2 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://tailwindcss.com/plus/login
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLogin - Tailwind Plus
  • og-description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com
  • og-image: passedhttps://tailwindcss.com/plus-assets/img/og/default.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: failed83 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed21,256 bytes of HTML; budget 500,000
1359
https://tailwindcss.com/plus/ui-kit?ref=footer200Login - Tailwind Plus
Page checklist evidence
  • title: passedLogin - Tailwind Plus
  • description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 2 links have no HTML name
  • link-text: passed0 of 2 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://tailwindcss.com/plus/login
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLogin - Tailwind Plus
  • og-description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com
  • og-image: passedhttps://tailwindcss.com/plus-assets/img/og/default.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: failed83 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed21,256 bytes of HTML; budget 500,000
1319
https://tailwindcss.com/plus?ref=footer200Login - Tailwind Plus
Page checklist evidence
  • title: passedLogin - Tailwind Plus
  • description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 2 links have no HTML name
  • link-text: passed0 of 2 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://tailwindcss.com/plus/login
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLogin - Tailwind Plus
  • og-description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com
  • og-image: passedhttps://tailwindcss.com/plus-assets/img/og/default.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: failed83 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed21,256 bytes of HTML; budget 500,000
1805
https://tailwindcss.com/showcase200Showcase - Tailwind CSS
Page checklist evidence
  • title: passedShowcase - Tailwind CSS
  • description: passedA collection of beautiful websites built with Tailwind CSS, including marketing sites, SaaS applications, ecommerce stores, and more.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 61 images lack an alt attribute
  • img-dimensions: passed0 of 61 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 4 buttons have no HTML name
  • links-named: failed57 of 87 links have no HTML name
  • link-text: passed0 of 87 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/showcase
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedShowcase - Build anything
  • og-description: passedA collection of beautiful websites built with Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/showcase
  • og-image: passedhttps://tailwindcss.com/api/og?path=/showcase
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2298 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed252,795 bytes of HTML; budget 500,000
1325
https://tailwindcss.com/brand200Brand - Tailwind CSS
Page checklist evidence
  • title: passedBrand - Tailwind CSS
  • description: passedTailwind CSS brand assets and usage guidelines.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 239 links have no HTML name
  • link-text: passed0 of 239 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/brand
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedBrand
  • og-description: passedTailwind CSS brand assets and usage guidelines.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/brand
  • og-image: passedhttps://tailwindcss.com/api/og?path=/brand
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4235 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed279,467 bytes of HTML; budget 500,000
1169
https://tailwindcss.com/docs/installation200Installing Tailwind CSS with Vite - Tailwind CSS
Page checklist evidence
  • title: passedInstalling Tailwind CSS with Vite - Tailwind CSS
  • description: passedInstalling Tailwind CSS as a Vite plugin is the most seamless way to integrate it with frameworks like Laravel, SvelteKit, React Router, Nuxt, and SolidJS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: failed6 of 11 buttons have no HTML name
  • links-named: passed0 of 234 links have no HTML name
  • link-text: passed0 of 234 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/installation/using-vite
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedInstalling with Vite - Installation
  • og-description: passedIntegrate Tailwind CSS with frameworks like Laravel, SvelteKit, React Router, and SolidJS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/installation/using-vite
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/installation/using-vite
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed5020 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed329,738 bytes of HTML; budget 500,000
1272
https://tailwindcss.com/plus?ref=home200Login - Tailwind Plus
Page checklist evidence
  • title: passedLogin - Tailwind Plus
  • description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 2 links have no HTML name
  • link-text: passed0 of 2 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://tailwindcss.com/plus/login
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLogin - Tailwind Plus
  • og-description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com
  • og-image: passedhttps://tailwindcss.com/plus-assets/img/og/default.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: failed83 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed21,256 bytes of HTML; budget 500,000
1273
https://tailwindcss.com/plus?ref=top200Login - Tailwind Plus
Page checklist evidence
  • title: passedLogin - Tailwind Plus
  • description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 2 links have no HTML name
  • link-text: passed0 of 2 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://tailwindcss.com/plus/login
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLogin - Tailwind Plus
  • og-description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com
  • og-image: passedhttps://tailwindcss.com/plus-assets/img/og/default.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: failed83 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed21,256 bytes of HTML; budget 500,000
1264
https://tailwindcss.com/blog/tailwind-is-joining-shopify200Tailwind Labs is joining Shopify - Tailwind CSS
Page checklist evidence
  • title: passedTailwind Labs is joining Shopify - Tailwind CSS
  • description: passedWe're joining Shopify to give Tailwind a stable long-term home where it will be actively maintained for the millions of people who depend on it.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 34 links have no HTML name
  • link-text: passed0 of 34 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwind-is-joining-shopify
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind Labs is joining Shopify
  • og-description: passedWe're joining Shopify to give Tailwind a stable long-term home where it will be actively maintained for the millions of people who depend on it.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwind-is-joining-shopify
  • og-image: passedhttps://tailwindcss.com/_next/static/media/og-image.103kpqahmns2b.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3400 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed73,566 bytes of HTML; budget 500,000
1132
https://tailwindcss.com/blog/tailwindcss-v4-3200Tailwind CSS v4.3: Scrollbars, new colors, and more - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v4.3: Scrollbars, new colors, and more - Tailwind CSS
  • description: passedTailwind CSS v4.3 is here with first-party scrollbar styling, even more logical property utilities, new zoom and tab-size utilities, better @variant support, and all the v4.2 stuff we shipped while forgetting blogs existed.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 71 links have no HTML name
  • link-text: passed0 of 71 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v4-3
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v4.3: Scrollbars, new colors, and more
  • og-description: passedTailwind CSS v4.3 is here with first-party scrollbar styling, even more logical property utilities, new zoom and tab-size utilities, better @variant support, and all the v4.2 stuff we shipped while forgetting blogs existed.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v4-3
  • og-image: passedhttps://tailwindcss.com/api/og?path=/blog/tailwindcss-v4-3
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed13324 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed331,294 bytes of HTML; budget 500,000
1217
https://tailwindcss.com/blog/vanilla-js-support-for-tailwind-plus200Vanilla JavaScript support for Tailwind Plus - Tailwind CSS
Page checklist evidence
  • title: passedVanilla JavaScript support for Tailwind Plus - Tailwind CSS
  • description: passedEvery UI block in Tailwind Plus is now fully functional, accessible, and interactive, even if you don't use a framework like React or Vue.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 79 links have no HTML name
  • link-text: passed0 of 79 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/vanilla-js-support-for-tailwind-plus
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedVanilla JavaScript support for Tailwind Plus
  • og-description: passedEvery UI block in Tailwind Plus is now fully functional, accessible, and interactive, even if you don't use a framework like React or Vue.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/vanilla-js-support-for-tailwind-plus
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.15sf387_eb1me.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed16487 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed333,162 bytes of HTML; budget 500,000
1167
https://tailwindcss.com/blog/2025-05-14-compass-course-starter-kit200Compass: A starter kit for online courses - Tailwind CSS
Page checklist evidence
  • title: passedCompass: A starter kit for online courses - Tailwind CSS
  • description: passedI've been itching to get back into screencasting and teaching lately, and the natural first step was to build our own course platform. So we just released Compass, a Next.js starter kit for publishing your own online course.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: passed0 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 44 links have no HTML name
  • link-text: passed0 of 44 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2025-05-14-compass-course-starter-kit
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedCompass: A starter kit for online courses
  • og-description: passedI've been itching to get back into screencasting and teaching lately, and the natural first step was to build our own course platform. So we just released Compass, a Next.js starter kit for publishing your own online course.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2025-05-14-compass-course-starter-kit
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.001_0~kji6t6o.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed7434 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed125,020 bytes of HTML; budget 500,000
1152
https://tailwindcss.com/plus/templates/compass200Login - Tailwind Plus
Page checklist evidence
  • title: passedLogin - Tailwind Plus
  • description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • img-dimensions: not-applicable0 of 0 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 2 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: failed1 of 2 links have no HTML name
  • link-text: passed0 of 2 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1.0
  • https: passedhttps://tailwindcss.com/plus/login
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedLogin - Tailwind Plus
  • og-description: passedBeautiful UI components and templates by the creators of Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com
  • og-image: passedhttps://tailwindcss.com/plus-assets/img/og/default.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: failed83 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed21,256 bytes of HTML; budget 500,000
1309
https://tailwindcss.com/blog/tailwindcss-v4-1200Tailwind CSS v4.1: Text shadows, masks, and tons more - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v4.1: Text shadows, masks, and tons more - Tailwind CSS
  • description: passedI wasn't sure it would ever happen but we did it — we released a version of Tailwind CSS that includes text shadow utilities. Tailwind CSS v4.1 is here and it's packed with improvements that will help you (or your LLM, you coward) build even better interactive
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 10 images lack an alt attribute
  • img-dimensions: failed6 of 10 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 7 controls have no HTML label
  • buttons: passed0 of 7 buttons have no HTML name
  • links-named: passed0 of 68 links have no HTML name
  • link-text: passed0 of 68 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v4-1
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v4.1: Text shadows, masks, and tons more
  • og-description: passedI wasn't sure it would ever happen but we did it — we released a version of Tailwind CSS that includes text shadow utilities. Tailwind CSS v4.1 is here and it's packed with improvements that will help you (or your LLM, you coward) build even better interactive
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v4-1
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.07i8wip_ymzcx.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed18941 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed396,951 bytes of HTML; budget 500,000
1183
https://tailwindcss.com/blog/tailwind-plus200Tailwind UI is now Tailwind Plus - Tailwind CSS
Page checklist evidence
  • title: passedTailwind UI is now Tailwind Plus - Tailwind CSS
  • description: passedWe just shipped a huge rebrand project, turning what was previously known as Tailwind UI into Tailwind Plus. Tailwind Plus is the all same high-quality resources you know from Tailwind UI, but with all-new possibilities and potential.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 35 links have no HTML name
  • link-text: passed0 of 35 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwind-plus
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind UI is now Tailwind Plus
  • og-description: passedWe just shipped a huge rebrand project, turning what was previously known as Tailwind UI into Tailwind Plus. Tailwind Plus is the all same high-quality resources you know from Tailwind UI, but with all-new possibilities and potential.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwind-plus
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.1380gcjub04-q.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3344 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed74,923 bytes of HTML; budget 500,000
1134
https://tailwindcss.com/blog/tailwindcss-v4200Tailwind CSS v4.0 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v4.0 - Tailwind CSS
  • description: passedWe just released Tailwind CSS v4.0 — an all-new version of the framework optimized for performance and flexibility, with a reimagined configuration and customization experience, and taking full advantage of the latest advancements the web platform has to offer
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: failed2 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 93 links have no HTML name
  • link-text: passed0 of 93 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v4
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v4.0
  • og-description: passedWe just released Tailwind CSS v4.0 — an all-new version of the framework optimized for performance and flexibility, with a reimagined configuration and customization experience, and taking full advantage of the latest advancements the web platform has to offer
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v4
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0_24evxv_9oi5.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed17180 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed347,182 bytes of HTML; budget 500,000
1159
https://tailwindcss.com/blog/tailwindcss-v4-beta200Tailwind CSS v4.0 Beta 1 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v4.0 Beta 1 - Tailwind CSS
  • description: passedAfter a long alpha period, we're excited to release the first public beta of Tailwind CSS v4.0.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 32 links have no HTML name
  • link-text: passed0 of 32 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v4-beta
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v4.0 Beta 1
  • og-description: passedAfter a long alpha period, we're excited to release the first public beta of Tailwind CSS v4.0.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v4-beta
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0lp~dbroxv_jo.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1785 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed69,280 bytes of HTML; budget 500,000
1128
https://tailwindcss.com/blog/tailwindcss-v4-alpha200Open-sourcing our progress on Tailwind CSS v4.0 - Tailwind CSS
Page checklist evidence
  • title: passedOpen-sourcing our progress on Tailwind CSS v4.0 - Tailwind CSS
  • description: passedWe just tagged the first public v4.0.0-alpha so you can start experimenting with it and help us get to a stable release later this year.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 49 links have no HTML name
  • link-text: passed0 of 49 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v4-alpha
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedOpen-sourcing our progress on Tailwind CSS v4.0
  • og-description: passedWe just tagged the first public v4.0.0-alpha so you can start experimenting with it and help us get to a stable release later this year.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v4-alpha
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0rsawcn697~-s.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed14066 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed205,682 bytes of HTML; budget 500,000
1150
https://tailwindcss.com/blog/2024-09-12-radiant-a-beautiful-new-marketing-site-template200Radiant: A beautiful new marketing site template - Tailwind CSS
Page checklist evidence
  • title: passedRadiant: A beautiful new marketing site template - Tailwind CSS
  • description: passedOver the past couple of months we’ve been working away at a new SaaS template called Radiant and it’s out now as part of Tailwind UI.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: passed0 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 43 links have no HTML name
  • link-text: passed0 of 43 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2024-09-12-radiant-a-beautiful-new-marketing-site-template
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedRadiant: A beautiful new marketing site template
  • og-description: passedOver the past couple of months we’ve been working away at a new SaaS template called Radiant and it’s out now as part of Tailwind UI.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2024-09-12-radiant-a-beautiful-new-marketing-site-template
  • og-image: passedhttps://tailwindcss.com/_next/static/media/twitter-card.0vut5kqy40fm~.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed9763 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed197,353 bytes of HTML; budget 500,000
1140
https://tailwindcss.com/blog/2024-06-21-headless-ui-v2-1200Headless UI v2.1: Simplified transition API and improved multi-dialog support - Tailwind CSS
Page checklist evidence
  • title: passedHeadless UI v2.1: Simplified transition API and improved multi-dialog support - Tailwind CSS
  • description: failedNo meta description
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 41 links have no HTML name
  • link-text: passed0 of 41 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2024-06-21-headless-ui-v2-1
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeadless UI v2.1: Simplified transition API and improved multi-dialog support
  • og-description: failedNo og:description
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2024-06-21-headless-ui-v2-1
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.15jcx1umw6s4u.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4425 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed123,821 bytes of HTML; budget 500,000
1248
https://tailwindcss.com/blog/2024-05-30-prettier-plugin-collapse-whitespace200Automatically clean up whitespace and duplicate class names - Tailwind CSS
Page checklist evidence
  • title: passedAutomatically clean up whitespace and duplicate class names - Tailwind CSS
  • description: passedWe just released a new version of prettier-plugin-tailwindcss which adds support for removing unnecessary whitespace and duplicate classes when sorting.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 34 links have no HTML name
  • link-text: passed0 of 34 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2024-05-30-prettier-plugin-collapse-whitespace
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAutomatically clean up whitespace and duplicate class names
  • og-description: passedWe just released a new version of prettier-plugin-tailwindcss which adds support for removing unnecessary whitespace and duplicate classes when sorting.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2024-05-30-prettier-plugin-collapse-whitespace
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.027r9580~4o01.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1354 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed74,232 bytes of HTML; budget 500,000
1251
https://tailwindcss.com/blog/2024-05-24-catalyst-application-layouts200Catalyst: Application layouts, navigation menus, description lists, and more - Tailwind CSS
Page checklist evidence
  • title: passedCatalyst: Application layouts, navigation menus, description lists, and more - Tailwind CSS
  • description: passedWe just published the first major update to Catalyst since releasing the development preview, with two new application layouts, navbar and sidebar components, description lists, and more.
  • canonical: failedNo canonical URL
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: passed0 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 47 links have no HTML name
  • link-text: passed0 of 47 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2024-05-24-catalyst-application-layouts
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedCatalyst: Application layouts, navigation menus, description lists, and more
  • og-description: passedWe just published the first major update to Catalyst since releasing the development preview, with two new application layouts, navbar and sidebar components, description lists, and more.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2024-05-24-catalyst-application-layouts
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0uy4n4bq-k09v.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed5175 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed141,118 bytes of HTML; budget 500,000
2263
https://tailwindcss.com/blog/headless-ui-v2200Headless UI v2.0 for React - Tailwind CSS
Page checklist evidence
  • title: passedHeadless UI v2.0 for React - Tailwind CSS
  • description: passedWe just released Headless UI v2.0 for React which includes a ton of new stuff including built-in anchor positioning, a new headless checkbox component, HTML form components and more!
  • canonical: failedNo canonical URL
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: passed0 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 5 controls have no HTML label
  • buttons: failed1 of 8 buttons have no HTML name
  • links-named: passed0 of 57 links have no HTML name
  • link-text: passed0 of 57 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/headless-ui-v2
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeadless UI v2.0 for React
  • og-description: passedWe just released Headless UI v2.0 for React which includes a ton of new stuff including built-in anchor positioning, a new headless checkbox component, HTML form components and more!
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/headless-ui-v2
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0bilyv7ooj2rz.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed10251 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed298,861 bytes of HTML; budget 500,000
2270
https://tailwindcss.com/blog/introducing-catalyst200Introducing Catalyst: A modern UI kit for React - Tailwind CSS
Page checklist evidence
  • title: passedIntroducing Catalyst: A modern UI kit for React - Tailwind CSS
  • description: passedWe just released the first development preview of Catalyst, our new fully-componentized, batteries-included application UI kit for React.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 8 images lack an alt attribute
  • img-dimensions: passed0 of 8 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 45 links have no HTML name
  • link-text: passed0 of 45 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/introducing-catalyst
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedIntroducing Catalyst: A modern UI kit for React
  • og-description: passedWe just released the first development preview of Catalyst, our new fully-componentized, batteries-included application UI kit for React.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/introducing-catalyst
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.019mph~x8cggj.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed8883 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed140,143 bytes of HTML; budget 500,000
1232
https://tailwindcss.com/blog/hiring-a-design-engineer-and-staff-engineer200We're hiring a Design Engineer + Staff Engineer - Tailwind CSS
Page checklist evidence
  • title: passedWe're hiring a Design Engineer + Staff Engineer - Tailwind CSS
  • description: passedWe just tagged the first public v4.0.0-alpha so you can start experimenting with it and help us get to a stable release later this year.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 48 links have no HTML name
  • link-text: passed0 of 48 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/hiring-a-design-engineer-and-staff-engineer
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedWe're hiring a Design Engineer + Staff Engineer
  • og-description: passedWe just tagged the first public v4.0.0-alpha so you can start experimenting with it and help us get to a stable release later this year.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/hiring-a-design-engineer-and-staff-engineer
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0gmi6le4qpan8.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed6033 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed88,279 bytes of HTML; budget 500,000
1246
https://tailwindcss.com/blog/tailwindcss-v3-4200Tailwind CSS v3.4: Dynamic viewport units, :has() support, balanced headlines, subgrid, and more - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v3.4: Dynamic viewport units, :has() support, balanced headlines, subgrid, and more - Tailwind CSS
  • description: passedThere’s nothing like building a major new product for finding all the features you wish you had in your own tools, so we capitalized on that inspiration and turned it into this — Tailwind CSS v3.4.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: failed3 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 4 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 64 links have no HTML name
  • link-text: passed0 of 64 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v3-4
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v3.4: Dynamic viewport units, :has() support, balanced headlines, subgrid, and more
  • og-description: passedThere’s nothing like building a major new product for finding all the features you wish you had in your own tools, so we capitalized on that inspiration and turned it into this — Tailwind CSS v3.4.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v3-4
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.13~wz-lf7hg9z.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed13116 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed278,628 bytes of HTML; budget 500,000
1153
https://tailwindcss.com/blog/heroicons-micro200Heroicons Micro: What are these, icons for ants? - Tailwind CSS
Page checklist evidence
  • title: passedHeroicons Micro: What are these, icons for ants? - Tailwind CSS
  • description: passedWe just released Heroicons v2.1 which includes a brand new micro style — a full set of almost three hundred 16×16 icons designed for tighter, higher density UIs.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: passed0 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 36 links have no HTML name
  • link-text: passed0 of 36 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/heroicons-micro
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeroicons Micro: What are these, icons for ants?
  • og-description: passedWe just released Heroicons v2.1 which includes a brand new micro style — a full set of almost three hundred 16×16 icons designed for tighter, higher density UIs.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/heroicons-micro
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0_406-u8g0-f2.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2051 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed488,762 bytes of HTML; budget 500,000
1406
https://tailwindcss.com/blog/2023-08-07-meet-studio-our-new-agency-template200Meet Studio: Our beautiful new agency site template - Tailwind CSS
Page checklist evidence
  • title: passedMeet Studio: Our beautiful new agency site template - Tailwind CSS
  • description: passedWe just released Studio — a beautiful new agency website template we've been working on for the last couple of months for Tailwind UI.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 44 links have no HTML name
  • link-text: passed0 of 44 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2023-08-07-meet-studio-our-new-agency-template
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMeet Studio: Our beautiful new agency site template
  • og-description: passedWe just released Studio — a beautiful new agency website template we've been working on for the last couple of months for Tailwind UI.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2023-08-07-meet-studio-our-new-agency-template
  • og-image: passedhttps://tailwindcss.com/_next/static/media/twitter-card.0z~8t4ieko_f6.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed9605 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed144,853 bytes of HTML; budget 500,000
1273
https://tailwindcss.com/blog/2023-07-18-tailwind-connect-2023-recap200Tailwind Connect 2023: Recap of our first in-person event - Tailwind CSS
Page checklist evidence
  • title: passedTailwind Connect 2023: Recap of our first in-person event - Tailwind CSS
  • description: passedLast month, over 200 people got together in my hometown of Cambridge, Ontario to hang out, talk shop, and get a peek behind the curtain at some of the new stuff we've been working on.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 14 images lack an alt attribute
  • img-dimensions: passed0 of 14 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 46 links have no HTML name
  • link-text: passed0 of 46 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2023-07-18-tailwind-connect-2023-recap
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind Connect 2023: Recap of our first in-person event
  • og-description: passedLast month, over 200 people got together in my hometown of Cambridge, Ontario to hang out, talk shop, and get a peek behind the curtain at some of the new stuff we've been working on.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2023-07-18-tailwind-connect-2023-recap
  • og-image: passedhttps://tailwindcss.com/_next/static/media/twitter-card.0799~v7766ji1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed9185 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed126,837 bytes of HTML; budget 500,000
1407
https://tailwindcss.com/blog/2023-04-24-new-changelog-template-and-the-biggest-tailwind-ui-update-ever200New changelog template + the biggest Tailwind UI update ever - Tailwind CSS
Page checklist evidence
  • title: passedNew changelog template + the biggest Tailwind UI update ever - Tailwind CSS
  • description: passedOver the last four months we've probably done more work on Tailwind UI than we ever have, and having finally wrapped up what we set out to achieve I'm excited to lay it all out for you.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 10 images lack an alt attribute
  • img-dimensions: passed0 of 10 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 51 links have no HTML name
  • link-text: passed0 of 51 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2023-04-24-new-changelog-template-and-the-biggest-tailwind-ui-update-ever
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNew changelog template + the biggest Tailwind UI update ever
  • og-description: passedOver the last four months we've probably done more work on Tailwind UI than we ever have, and having finally wrapped up what we set out to achieve I'm excited to lay it all out for you.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2023-04-24-new-changelog-template-and-the-biggest-tailwind-ui-update-ever
  • og-image: passedhttps://tailwindcss.com/_next/static/media/twitter-card.0~lf_o_d0yykz.png
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed6241 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed99,133 bytes of HTML; budget 500,000
1154
https://tailwindcss.com/blog/tailwindcss-v3-3200Tailwind CSS v3.3: Extended color palette, ESM/TS support, logical properties, and more - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v3.3: Extended color palette, ESM/TS support, logical properties, and more - Tailwind CSS
  • description: passedTailwind CSS v3.3 is here — bringing a bunch of new features people have been asking for forever, and a bunch of new stuff you didn't even know you wanted.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 8 images lack an alt attribute
  • img-dimensions: failed3 of 8 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 7 buttons have no HTML name
  • links-named: passed0 of 74 links have no HTML name
  • link-text: passed0 of 74 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v3-3
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v3.3: Extended color palette, ESM/TS support, logical properties, and more
  • og-description: passedTailwind CSS v3.3 is here — bringing a bunch of new features people have been asking for forever, and a bunch of new stuff you didn't even know you wanted.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v3-3
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.05ivvbldtvm3y.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed14125 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed274,544 bytes of HTML; budget 500,000
1267
https://tailwindcss.com/blog/2022-12-15-protocol-api-documentation-template200Protocol: A beautiful starting point for your next API documentation site - Tailwind CSS
Page checklist evidence
  • title: passedProtocol: A beautiful starting point for your next API documentation site - Tailwind CSS
  • description: passedIt's been months in the making but I'm excited to finally release our next website template — Protocol, a beautiful starter kit for building amazing API reference websites.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: passed0 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 47 links have no HTML name
  • link-text: passed0 of 47 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2022-12-15-protocol-api-documentation-template
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedProtocol: A beautiful starting point for your next API documentation site
  • og-description: passedIt's been months in the making but I'm excited to finally release our next website template — Protocol, a beautiful starter kit for building amazing API reference websites.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2022-12-15-protocol-api-documentation-template
  • og-image: passedhttps://tailwindcss.com/api/og?path=/blog/2022-12-15-protocol-api-documentation-template
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed7358 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed137,418 bytes of HTML; budget 500,000
1240
https://tailwindcss.com/blog/tailwindcss-v3-2200Tailwind CSS v3.2: Dynamic breakpoints, multi-config, and container queries, oh my! - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v3.2: Dynamic breakpoints, multi-config, and container queries, oh my! - Tailwind CSS
  • description: passed...and nested group support, `aria-*` variants, `data-*` variants, `@supports` support, and more.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 15 buttons have no HTML name
  • links-named: passed0 of 56 links have no HTML name
  • link-text: passed0 of 56 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v3-2
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v3.2: Dynamic breakpoints, multi-config, and container queries, oh my!
  • og-description: passed...and nested group support, `aria-*` variants, `data-*` variants, `@supports` support, and more.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v3-2
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.10b5sbxrdvd~8.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed13825 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed333,710 bytes of HTML; budget 500,000
1163
https://tailwindcss.com/blog/2022-09-09-new-personal-website-heroicons-2-headless-ui-v17200We built you a new personal website + Heroicons v2.0, Headless UI v1.7, and more - Tailwind CSS
Page checklist evidence
  • title: passedWe built you a new personal website + Heroicons v2.0, Headless UI v1.7, and more - Tailwind CSS
  • description: passedWe just released a stunning new personal website template for Tailwind UI, redesigned Heroicons from scratch, tagged a new version of Headless UI with some exciting new features, and more.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 7 images lack an alt attribute
  • img-dimensions: passed0 of 7 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 63 links have no HTML name
  • link-text: passed0 of 63 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2022-09-09-new-personal-website-heroicons-2-headless-ui-v17
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedWe built you a new personal website + Heroicons v2.0, Headless UI v1.7, and more
  • og-description: passedWe just released a stunning new personal website template for Tailwind UI, redesigned Heroicons from scratch, tagged a new version of Headless UI with some exciting new features, and more.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2022-09-09-new-personal-website-heroicons-2-headless-ui-v17
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.16347v5rhyecn.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed9231 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed156,839 bytes of HTML; budget 500,000
1394
https://tailwindcss.com/blog/2022-08-17-tailwind-framer-motion-template-and-tailwind-jobs200New Tailwind CSS + Framer Motion template and Tailwind Jobs - Tailwind CSS
Page checklist evidence
  • title: passedNew Tailwind CSS + Framer Motion template and Tailwind Jobs - Tailwind CSS
  • description: passedAll about the brand new Tailwind UI template we just shipped, the official Tailwind CSS job board, and a bunch of new projects coming out in the next few weeks.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 53 links have no HTML name
  • link-text: passed0 of 53 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2022-08-17-tailwind-framer-motion-template-and-tailwind-jobs
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedNew Tailwind CSS + Framer Motion template and Tailwind Jobs
  • og-description: passedAll about the brand new Tailwind UI template we just shipped, the official Tailwind CSS job board, and a bunch of new projects coming out in the next few weeks.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2022-08-17-tailwind-framer-motion-template-and-tailwind-jobs
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0j1jeiupt6m8x.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed5443 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed84,560 bytes of HTML; budget 500,000
1247
https://tailwindcss.com/blog/2022-06-23-tailwind-templates-and-all-access200Tailwind UI: Site templates and all-access - Tailwind CSS
Page checklist evidence
  • title: passedTailwind UI: Site templates and all-access - Tailwind CSS
  • description: passedToday we're releasing our first batch of official Tailwind CSS website templates — beautiful designs engineered into production-quality codebases, powered by Tailwind CSS and Next.js.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: passed0 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 43 links have no HTML name
  • link-text: passed0 of 43 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2022-06-23-tailwind-templates-and-all-access
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind UI: Site templates and all-access
  • og-description: passedToday we're releasing our first batch of official Tailwind CSS website templates — beautiful designs engineered into production-quality codebases, powered by Tailwind CSS and Next.js.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2022-06-23-tailwind-templates-and-all-access
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.15-ihs98bhpu~.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed5845 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed86,370 bytes of HTML; budget 500,000
1129
https://tailwindcss.com/blog/tailwindcss-v3-1200Tailwind CSS v3.1: You wanna get nuts? Come on, let's get nuts! - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v3.1: You wanna get nuts? Come on, let's get nuts! - Tailwind CSS
  • description: passedNow with first-party TypeScript types, arbitrary variants, improved CSS variable DX, and tons more.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 8 images lack an alt attribute
  • img-dimensions: failed6 of 8 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 4 controls have no HTML label
  • buttons: passed0 of 10 buttons have no HTML name
  • links-named: passed0 of 69 links have no HTML name
  • link-text: passed0 of 69 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v3-1
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v3.1: You wanna get nuts? Come on, let's get nuts!
  • og-description: passedNow with first-party TypeScript types, arbitrary variants, improved CSS variable DX, and tons more.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v3-1
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.02hj-usy-pwo3.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed15579 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed361,258 bytes of HTML; budget 500,000
1165
https://tailwindcss.com/blog/tailwindcss-v3200Tailwind CSS v3.0 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v3.0 - Tailwind CSS
  • description: passedTailwind CSS v3.0 is here — bringing incredible performance gains, huge workflow improvements, and a seriously ridiculous number of new features.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed6 of 10 images lack an alt attribute
  • img-dimensions: failed9 of 10 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 3 controls have no HTML label
  • buttons: passed0 of 8 buttons have no HTML name
  • links-named: passed0 of 86 links have no HTML name
  • link-text: passed0 of 86 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v3
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v3.0
  • og-description: passedTailwind CSS v3.0 is here — bringing incredible performance gains, huge workflow improvements, and a seriously ridiculous number of new features.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v3
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0a51s56gxb8rn.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed12979 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed254,196 bytes of HTML; budget 500,000
1155
https://tailwindcss.com/blog/2022-05-23-headless-ui-v1-6-tailwind-ui-team-management200Headless UI v1.6, Tailwind UI team management, Tailwind Play improvements, and more - Tailwind CSS
Page checklist evidence
  • title: passedHeadless UI v1.6, Tailwind UI team management, Tailwind Play improvements, and more - Tailwind CSS
  • description: passedIt's been a while since I've written about what we've been working on so I have a lot to share! Too much honestly — so put your swim suit on, sit back in your lounge chair, and prepare to soak up some vitamin CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 6 images lack an alt attribute
  • img-dimensions: passed0 of 6 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 68 links have no HTML name
  • link-text: passed0 of 68 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/2022-05-23-headless-ui-v1-6-tailwind-ui-team-management
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeadless UI v1.6, Tailwind UI team management, Tailwind Play improvements, and more
  • og-description: passedIt's been a while since I've written about what we've been working on so I have a lot to share! Too much honestly — so put your swim suit on, sit back in your lounge chair, and prepare to soak up some vitamin CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/2022-05-23-headless-ui-v1-6-tailwind-ui-team-management
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0oys~ryfvqo08.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed13996 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed189,123 bytes of HTML; budget 500,000
1269
https://tailwindcss.com/blog/headless-ui-v1-5200Headless UI v1.5: The One With Comboboxes - Tailwind CSS
Page checklist evidence
  • title: passedHeadless UI v1.5: The One With Comboboxes - Tailwind CSS
  • description: passedWe just released Headless UI v1.5, which includes a brand new `Combobox` component.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: passed0 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 2 controls have no HTML label
  • buttons: failed1 of 8 buttons have no HTML name
  • links-named: passed0 of 40 links have no HTML name
  • link-text: passed0 of 40 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/headless-ui-v1-5
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeadless UI v1.5: The One With Comboboxes
  • og-description: passedWe just released Headless UI v1.5, which includes a brand new `Combobox` component.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/headless-ui-v1-5
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0~x.9bv35q8fj.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3666 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed128,357 bytes of HTML; budget 500,000
1244
https://tailwindcss.com/blog/automatic-class-sorting-with-prettier200Automatic Class Sorting with Prettier - Tailwind CSS
Page checklist evidence
  • title: passedAutomatic Class Sorting with Prettier - Tailwind CSS
  • description: passedPeople have been talking about the best way to sort your utility classes in Tailwind projects for at least four years. Today we’re excited to announce that you can finally stop worrying about it with the release of our official Prettier plugin for Tailwind CSS
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 42 links have no HTML name
  • link-text: passed0 of 42 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/automatic-class-sorting-with-prettier
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAutomatic Class Sorting with Prettier
  • og-description: passedPeople have been talking about the best way to sort your utility classes in Tailwind projects for at least four years. Today we’re excited to announce that you can finally stop worrying about it with the release of our official Prettier plugin for Tailwind CSS
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/automatic-class-sorting-with-prettier
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0r~7wk8qrnuly.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4495 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed126,604 bytes of HTML; budget 500,000
1138
https://tailwindcss.com/blog/tailwindcss-typography-v0-5200Effortless Typography, Even in Dark Mode - Tailwind CSS
Page checklist evidence
  • title: passedEffortless Typography, Even in Dark Mode - Tailwind CSS
  • description: passedToday we're announcing the next version of the Tailwind CSS Typography plugin, which brings easy dark mode support and a brand new customization API.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 40 links have no HTML name
  • link-text: passed0 of 40 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-typography-v0-5
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedEffortless Typography, Even in Dark Mode
  • og-description: passedToday we're announcing the next version of the Tailwind CSS Typography plugin, which brings easy dark mode support and a brand new customization API.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-typography-v0-5
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.16doo5diupfrm.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2821 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed101,074 bytes of HTML; budget 500,000
1245
https://tailwindcss.com/blog/standalone-cli200Standalone CLI: Use Tailwind CSS without Node.js - Tailwind CSS
Page checklist evidence
  • title: passedStandalone CLI: Use Tailwind CSS without Node.js - Tailwind CSS
  • description: passedToday we're announcing a new standalone CLI build that gives you the full power of Tailwind CLI in a self-contained executable — no Node.js or npm required.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 40 links have no HTML name
  • link-text: passed0 of 40 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/standalone-cli
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedStandalone CLI: Use Tailwind CSS without Node.js
  • og-description: passedToday we're announcing a new standalone CLI build that gives you the full power of Tailwind CLI in a self-contained executable — no Node.js or npm required.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/standalone-cli
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0ryseqhsmjspe.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3178 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed86,726 bytes of HTML; budget 500,000
1266
https://tailwindcss.com/blog/tailwind-ui-ecommerce200Introducing Tailwind UI Ecommerce - Tailwind CSS
Page checklist evidence
  • title: passedIntroducing Tailwind UI Ecommerce - Tailwind CSS
  • description: passedAlmost 6 months in the making, we finally released Tailwind UI Ecommerce — the first all-new component kit for Tailwind UI since the initial launch back in February 2020.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 38 links have no HTML name
  • link-text: passed0 of 38 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwind-ui-ecommerce
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedIntroducing Tailwind UI Ecommerce
  • og-description: passedAlmost 6 months in the making, we finally released Tailwind UI Ecommerce — the first all-new component kit for Tailwind UI since the initial launch back in February 2020.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwind-ui-ecommerce
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0nuslp11nisq1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1803 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed73,568 bytes of HTML; budget 500,000
1127
https://tailwindcss.com/blog/headless-ui-v1-4200Headless UI v1.4: The One With Tabs - Tailwind CSS
Page checklist evidence
  • title: passedHeadless UI v1.4: The One With Tabs - Tailwind CSS
  • description: passedWe just released Headless UI v1.4, which includes a brand new `Tab` component, and new APIs for manually closing `Popover` and `Disclosure` components more easily.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: passed0 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 13 buttons have no HTML name
  • links-named: passed0 of 43 links have no HTML name
  • link-text: passed0 of 43 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/headless-ui-v1-4
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeadless UI v1.4: The One With Tabs
  • og-description: passedWe just released Headless UI v1.4, which includes a brand new `Tab` component, and new APIs for manually closing `Popover` and `Disclosure` components more easily.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/headless-ui-v1-4
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0ppcb_ouqoivi.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3681 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed172,608 bytes of HTML; budget 500,000
1523
https://tailwindcss.com/blog/tailwindcss-2-2200Tailwind CSS v2.2 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v2.2 - Tailwind CSS
  • description: passedAn all-new high-performance CLI tool, ::before and ::after support, sibling selectors, selected text variants, and tons more.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 82 links have no HTML name
  • link-text: passed0 of 82 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-2-2
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v2.2
  • og-description: passedAn all-new high-performance CLI tool, ::before and ::after support, sibling selectors, selected text variants, and tons more.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-2-2
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.10x9v4vn6t523.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed16939 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed280,840 bytes of HTML; budget 500,000
1259
https://tailwindcss.com/blog/tailwind-ui-now-with-react-and-vue-support200Tailwind UI: Now with React + Vue support - Tailwind CSS
Page checklist evidence
  • title: passedTailwind UI: Now with React + Vue support - Tailwind CSS
  • description: passedLast year we released Tailwind UI — a huge directory of professionally designed UI examples built with Tailwind CSS. Today we’re excited to add first class support for React and Vue 3 to all of the examples in Tailwind UI, which makes it even easier to adapt t
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 38 links have no HTML name
  • link-text: passed0 of 38 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwind-ui-now-with-react-and-vue-support
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind UI: Now with React + Vue support
  • og-description: passedLast year we released Tailwind UI — a huge directory of professionally designed UI examples built with Tailwind CSS. Today we’re excited to add first class support for React and Vue 3 to all of the examples in Tailwind UI, which makes it even easier to adapt t
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwind-ui-now-with-react-and-vue-support
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0s_at07a-36n..jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4012 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed95,196 bytes of HTML; budget 500,000
1337
https://tailwindcss.com/blog/headless-ui-v1200Headless UI v1.0 - Tailwind CSS
Page checklist evidence
  • title: passedHeadless UI v1.0 - Tailwind CSS
  • description: passedLast fall we announced Headless UI, a library of completely unstyled, fully accessible UI components, designed to pair perfectly with Tailwind CSS. Today we’re super excited to release Headless UI v1.0, which more than doubles the amount of included components
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 43 links have no HTML name
  • link-text: passed0 of 43 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/headless-ui-v1
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeadless UI v1.0
  • og-description: passedLast fall we announced Headless UI, a library of completely unstyled, fully accessible UI components, designed to pair perfectly with Tailwind CSS. Today we’re super excited to release Headless UI v1.0, which more than doubles the amount of included components
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/headless-ui-v1
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0-ku0neogiq4t.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed5801 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed171,485 bytes of HTML; budget 500,000
1143
https://tailwindcss.com/blog/tailwindcss-2-1200Tailwind CSS v2.1 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v2.1 - Tailwind CSS
  • description: passedWe just released Tailwind CSS v2.1 which brings the new JIT engine to core, adds first-class CSS filter support, and more!
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 48 links have no HTML name
  • link-text: passed0 of 48 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-2-1
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v2.1
  • og-description: passedWe just released Tailwind CSS v2.1 which brings the new JIT engine to core, adds first-class CSS filter support, and more!
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-2-1
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0.i.71mu8cv_9.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3185 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed99,258 bytes of HTML; budget 500,000
1238
https://tailwindcss.com/blog/heroicons-v1200Heroicons v1.0 - Tailwind CSS
Page checklist evidence
  • title: passedHeroicons v1.0 - Tailwind CSS
  • description: passedToday we're releasing Heroicons v1.0, which includes over 450+ free icons in two styles, official React and Vue libraries, and Figma assets.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 36 links have no HTML name
  • link-text: passed0 of 36 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/heroicons-v1
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeroicons v1.0
  • og-description: passedToday we're releasing Heroicons v1.0, which includes over 450+ free icons in two styles, official React and Vue libraries, and Figma assets.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/heroicons-v1
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0g_iv-hix4~i..jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1267 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed76,225 bytes of HTML; budget 500,000
1241
https://tailwindcss.com/blog/just-in-time-the-next-generation-of-tailwind-css200Just-In-Time: The Next Generation of Tailwind CSS - Tailwind CSS
Page checklist evidence
  • title: passedJust-In-Time: The Next Generation of Tailwind CSS - Tailwind CSS
  • description: passedOne of the hardest constraints we've had to deal with as we've improved Tailwind CSS over the years is the generated file size in development. Today I'm super excited to share a new project that makes this constraint a thing of the past: a just-in-time compile
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 35 links have no HTML name
  • link-text: passed0 of 35 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/just-in-time-the-next-generation-of-tailwind-css
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedJust-In-Time: The Next Generation of Tailwind CSS
  • og-description: passedOne of the hardest constraints we've had to deal with as we've improved Tailwind CSS over the years is the generated file size in development. Today I'm super excited to share a new project that makes this constraint a thing of the past: a just-in-time compile
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/just-in-time-the-next-generation-of-tailwind-css
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0pmvxc42ydbl..jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3895 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed84,225 bytes of HTML; budget 500,000
1124
https://tailwindcss.com/blog/welcoming-james-mcdonald-to-tailwind-labs200Welcoming James McDonald to Tailwind Labs - Tailwind CSS
Page checklist evidence
  • title: passedWelcoming James McDonald to Tailwind Labs - Tailwind CSS
  • description: passedMany years ago I got a message from Steve that said something like: "Have I ever shared this guy's Dribbble profile with you before? Been following him forever, some of my absolute favorite work I've ever found." That person was James McDonald, and today we're
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 37 links have no HTML name
  • link-text: passed0 of 37 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/welcoming-james-mcdonald-to-tailwind-labs
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedWelcoming James McDonald to Tailwind Labs
  • og-description: passedMany years ago I got a message from Steve that said something like: "Have I ever shared this guy's Dribbble profile with you before? Been following him forever, some of my absolute favorite work I've ever found." That person was James McDonald, and today we're
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/welcoming-james-mcdonald-to-tailwind-labs
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.06ksy-zoxvabj.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1836 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed74,178 bytes of HTML; budget 500,000
1133
https://tailwindcss.com/blog/tailwindcss-from-zero-to-production200"Tailwind CSS: From Zero to Production" on YouTube - Tailwind CSS
Page checklist evidence
  • title: passed"Tailwind CSS: From Zero to Production" on YouTube - Tailwind CSS
  • description: passedToday we're excited to release Tailwind CSS: From Zero to Production, a new screencast series that teaches you everything you need to know to go from zero to production with Tailwind CSS v2.0.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 42 links have no HTML name
  • link-text: passed0 of 42 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-from-zero-to-production
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passed"Tailwind CSS: From Zero to Production" on YouTube
  • og-description: passedToday we're excited to release Tailwind CSS: From Zero to Production, a new screencast series that teaches you everything you need to know to go from zero to production with Tailwind CSS v2.0.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-from-zero-to-production
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0b.ot2_yiz~gb.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1310 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed70,151 bytes of HTML; budget 500,000
1272
https://tailwindcss.com/blog/welcoming-david-luhr-to-tailwind-labs200Welcoming David Luhr to Tailwind Labs - Tailwind CSS
Page checklist evidence
  • title: passedWelcoming David Luhr to Tailwind Labs - Tailwind CSS
  • description: passedWe started working with David Luhr last summer to help us develop a Figma version of Tailwind UI, as well as to leverage his accessibility expertise, ensuring we were following best practices and delivering markup that would work for everyone. Today we're exci
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 34 links have no HTML name
  • link-text: passed0 of 34 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/welcoming-david-luhr-to-tailwind-labs
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedWelcoming David Luhr to Tailwind Labs
  • og-description: passedWe started working with David Luhr last summer to help us develop a Figma version of Tailwind UI, as well as to leverage his accessibility expertise, ensuring we were following best practices and delivering markup that would work for everyone. Today we're exci
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/welcoming-david-luhr-to-tailwind-labs
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.129_md1-2j.6e.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3718 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed73,969 bytes of HTML; budget 500,000
1223
https://tailwindcss.com/blog/multi-line-truncation-with-tailwindcss-line-clamp200Multi-line truncation with @tailwindcss/line-clamp - Tailwind CSS
Page checklist evidence
  • title: passedMulti-line truncation with @tailwindcss/line-clamp - Tailwind CSS
  • description: passedA few weeks back we released @tailwindcss/line-clamp, an official Tailwind CSS plugin for truncating text to a specific number of lines.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 32 links have no HTML name
  • link-text: passed0 of 32 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/multi-line-truncation-with-tailwindcss-line-clamp
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedMulti-line truncation with @tailwindcss/line-clamp
  • og-description: passedA few weeks back we released @tailwindcss/line-clamp, an official Tailwind CSS plugin for truncating text to a specific number of lines.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/multi-line-truncation-with-tailwindcss-line-clamp
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.08966tg_bit0_.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2298 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed82,279 bytes of HTML; budget 500,000
1255
https://tailwindcss.com/blog/tailwindcss-v2200Tailwind CSS v2.0 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v2.0 - Tailwind CSS
  • description: passedToday we're finally releasing Tailwind CSS v2.0, including an all-new color palette, dark mode support, and tons more!
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: failed2 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 77 links have no HTML name
  • link-text: passed0 of 77 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-v2
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v2.0
  • og-description: passedToday we're finally releasing Tailwind CSS v2.0, including an all-new color palette, dark mode support, and tons more!
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-v2
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.08chnmr9pb_71.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed14151 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed267,349 bytes of HTML; budget 500,000
1298
https://tailwindcss.com/blog/tailwindcss-1-9200Tailwind CSS v1.9.0 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v1.9.0 - Tailwind CSS
  • description: passedWe just released Tailwind CSS v1.9 which adds support for configuration presets, useful new CSS grid utilities, extended border radius, rotate, and skew scales, helpful accessibility improvements, and more!
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 44 links have no HTML name
  • link-text: passed0 of 44 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-1-9
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v1.9.0
  • og-description: passedWe just released Tailwind CSS v1.9 which adds support for configuration presets, useful new CSS grid utilities, extended border radius, rotate, and skew scales, helpful accessibility improvements, and more!
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-1-9
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0etyzmi0g6scs.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed6120 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed135,901 bytes of HTML; budget 500,000
1258
https://tailwindcss.com/blog/introducing-tailwind-play200Introducing Tailwind Play - Tailwind CSS
Page checklist evidence
  • title: passedIntroducing Tailwind Play - Tailwind CSS
  • description: passedTailwind Play is an advanced online playground for Tailwind CSS that lets you use all of Tailwind's build-time features directly in the browser.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 36 links have no HTML name
  • link-text: passed0 of 36 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/introducing-tailwind-play
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedIntroducing Tailwind Play
  • og-description: passedTailwind Play is an advanced online playground for Tailwind CSS that lets you use all of Tailwind's build-time features directly in the browser.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/introducing-tailwind-play
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0xxlrxbcq1_pz.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2546 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed71,647 bytes of HTML; budget 500,000
1129
https://tailwindcss.com/blog/headless-ui-unstyled-accessible-ui-components200Headless UI: Unstyled, Accessible UI Components - Tailwind CSS
Page checklist evidence
  • title: passedHeadless UI: Unstyled, Accessible UI Components - Tailwind CSS
  • description: passedHeadless UI is a set of completely unstyled, fully accessible UI components for React, Vue, and Alpine.js that make it easy to build fully accessible custom UI components, without sacrificing the ability to style them from scratch with simple utility classes.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 49 links have no HTML name
  • link-text: passed0 of 49 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/headless-ui-unstyled-accessible-ui-components
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHeadless UI: Unstyled, Accessible UI Components
  • og-description: passedHeadless UI is a set of completely unstyled, fully accessible UI components for React, Vue, and Alpine.js that make it easy to build fully accessible custom UI components, without sacrificing the ability to style them from scratch with simple utility classes.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/headless-ui-unstyled-accessible-ui-components
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.05qdn9mt_ai~n.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed7103 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed109,448 bytes of HTML; budget 500,000
1239
https://tailwindcss.com/blog/whats-new-in-tailwindcss-on-youtube200"What's new in Tailwind CSS?" on YouTube - Tailwind CSS
Page checklist evidence
  • title: passed"What's new in Tailwind CSS?" on YouTube - Tailwind CSS
  • description: passedA lot of cool stuff has been added to Tailwind since the last time we published any screencasts, so we thought it would be a great idea to record a little series that covers all of the new additions.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 44 links have no HTML name
  • link-text: passed0 of 44 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/whats-new-in-tailwindcss-on-youtube
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passed"What's new in Tailwind CSS?" on YouTube
  • og-description: passedA lot of cool stuff has been added to Tailwind since the last time we published any screencasts, so we thought it would be a great idea to record a little series that covers all of the new additions.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/whats-new-in-tailwindcss-on-youtube
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.074gr8p43-adk.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1250 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed69,960 bytes of HTML; budget 500,000
1228
https://tailwindcss.com/blog/tailwindcss-1-8200Tailwind CSS v1.8.0 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v1.8.0 - Tailwind CSS
  • description: passedTailwind CSS v1.8.0 is now available, with font-variant-numeric support, experimental dark mode, and more!
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 43 links have no HTML name
  • link-text: passed0 of 43 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-1-8
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v1.8.0
  • og-description: passedTailwind CSS v1.8.0 is now available, with font-variant-numeric support, experimental dark mode, and more!
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-1-8
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.02diuuhcd0i.x.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1238 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed69,270 bytes of HTML; budget 500,000
1236
https://tailwindcss.com/blog/utility-friendly-transitions-with-tailwindui-react200Utility-Friendly Transitions with @tailwindui/react - Tailwind CSS
Page checklist evidence
  • title: passedUtility-Friendly Transitions with @tailwindui/react - Tailwind CSS
  • description: passedAnnouncing the first release of @tailwindui/react, which introduces a <Transition> component for utility-first enter/leave transitions.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 35 links have no HTML name
  • link-text: passed0 of 35 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/utility-friendly-transitions-with-tailwindui-react
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedUtility-Friendly Transitions with @tailwindui/react
  • og-description: passedAnnouncing the first release of @tailwindui/react, which introduces a <Transition> component for utility-first enter/leave transitions.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/utility-friendly-transitions-with-tailwindui-react
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0097i7nsotnls.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3002 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed94,894 bytes of HTML; budget 500,000
1223
https://tailwindcss.com/blog/introducing-heroicons200Introducing Heroicons.com - Tailwind CSS
Page checklist evidence
  • title: passedIntroducing Heroicons.com - Tailwind CSS
  • description: passedToday we're launching the official Heroicons web experience, which makes it easier than ever to search for icons and quickly copy them to your clipboard as Tailwind-ready HTML or JSX.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 4 images lack an alt attribute
  • img-dimensions: passed0 of 4 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 39 links have no HTML name
  • link-text: passed0 of 39 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/introducing-heroicons
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedIntroducing Heroicons.com
  • og-description: passedToday we're launching the official Heroicons web experience, which makes it easier than ever to search for icons and quickly copy them to your clipboard as Tailwind-ready HTML or JSX.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/introducing-heroicons
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0bwqzlv-27r8d.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2271 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed82,686 bytes of HTML; budget 500,000
1233
https://tailwindcss.com/blog/tailwindcss-1-7200Tailwind CSS v1.7.0 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v1.7.0 - Tailwind CSS
  • description: passedTailwind CSS v1.7.0 is now available, with gradients and more!
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 51 links have no HTML name
  • link-text: passed0 of 51 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-1-7
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v1.7.0
  • og-description: passedTailwind CSS v1.7.0 is now available, with gradients and more!
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-1-7
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.00m7jhfni7ool.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed11008 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed228,453 bytes of HTML; budget 500,000
1261
https://tailwindcss.com/blog/from-900-to-1-how-we-hired-robin-malfait200From Nine Hundred to One: How We Hired Robin Malfait - Tailwind CSS
Page checklist evidence
  • title: passedFrom Nine Hundred to One: How We Hired Robin Malfait - Tailwind CSS
  • description: passedBack in May we published our first job posting for a full-stack developer to join our team. This is the story of how we worked through almost 900 applications, and eventually hired Robin Malfait, a talented developer from Belgium who is starting with us today.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 48 links have no HTML name
  • link-text: passed0 of 48 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/from-900-to-1-how-we-hired-robin-malfait
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedFrom Nine Hundred to One: How We Hired Robin Malfait
  • og-description: passedBack in May we published our first job posting for a full-stack developer to join our team. This is the story of how we worked through almost 900 applications, and eventually hired Robin Malfait, a talented developer from Belgium who is starting with us today.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/from-900-to-1-how-we-hired-robin-malfait
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.056.izhed6kyu.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed12037 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed99,771 bytes of HTML; budget 500,000
1230
https://tailwindcss.com/blog/tailwindcss-1-6200Tailwind CSS v1.6.0 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v1.6.0 - Tailwind CSS
  • description: passedTailwind CSS v1.6.0 is now available, with animations and more!
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 42 links have no HTML name
  • link-text: passed0 of 42 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-1-6
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v1.6.0
  • og-description: passedTailwind CSS v1.6.0 is now available, with animations and more!
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-1-6
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0kze13vr1hxd5.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4439 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed129,197 bytes of HTML; budget 500,000
1132
https://tailwindcss.com/blog/simon-vrachliotis-joins-tailwind-labs200Simon Vrachliotis Joins Tailwind Labs - Tailwind CSS
Page checklist evidence
  • title: passedSimon Vrachliotis Joins Tailwind Labs - Tailwind CSS
  • description: passedToday we are super excited to share that Simon Vrachliotis has joined the development team at Tailwind Labs.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 34 links have no HTML name
  • link-text: passed0 of 34 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/simon-vrachliotis-joins-tailwind-labs
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedSimon Vrachliotis Joins Tailwind Labs
  • og-description: passedToday we are super excited to share that Simon Vrachliotis has joined the development team at Tailwind Labs.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/simon-vrachliotis-joins-tailwind-labs
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0gy9ityg-nyto.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1855 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed68,845 bytes of HTML; budget 500,000
1207
https://tailwindcss.com/blog/welcoming-brad-cornes-to-the-tailwind-team200Welcoming Brad Cornes to the Team - Tailwind CSS
Page checklist evidence
  • title: passedWelcoming Brad Cornes to the Team - Tailwind CSS
  • description: passedBack in June, Brad Cornes joined our company as our very first team member. We didn't have a blog to announce it back then, but better late than never right?
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • img-dimensions: passed0 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 34 links have no HTML name
  • link-text: passed0 of 34 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/welcoming-brad-cornes-to-the-tailwind-team
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedWelcoming Brad Cornes to the Team
  • og-description: passedBack in June, Brad Cornes joined our company as our very first team member. We didn't have a blog to announce it back then, but better late than never right?
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/welcoming-brad-cornes-to-the-tailwind-team
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0egdmbzfeag9c.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2205 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed70,678 bytes of HTML; budget 500,000
1253
https://tailwindcss.com/blog/tailwindcss-1-5200Tailwind CSS v1.5.0 - Tailwind CSS
Page checklist evidence
  • title: passedTailwind CSS v1.5.0 - Tailwind CSS
  • description: passedTailwind CSS v1.5.0 is here, now with component variants, responsive container variants, focus-visible support, and more.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 40 links have no HTML name
  • link-text: passed0 of 40 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-1-5
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTailwind CSS v1.5.0
  • og-description: passedTailwind CSS v1.5.0 is here, now with component variants, responsive container variants, focus-visible support, and more.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-1-5
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.17qppc7ot-xi4.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed3761 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed123,585 bytes of HTML; budget 500,000
1350
https://tailwindcss.com/blog/tailwindcss-typography200Introducing Tailwind CSS Typography - Tailwind CSS
Page checklist evidence
  • title: passedIntroducing Tailwind CSS Typography - Tailwind CSS
  • description: passedUntil now, trying to style an article, document, or blog post with Tailwind has been a tedious task that required a keen eye for typography and a lot of complex custom CSS. That's why today we're excited to release @tailwindcss/typography — a plugin that lets
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 33 links have no HTML name
  • link-text: passed0 of 33 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/tailwindcss-typography
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedIntroducing Tailwind CSS Typography
  • og-description: passedUntil now, trying to style an article, document, or blog post with Tailwind has been a tedious task that required a keen eye for typography and a lot of complex custom CSS. That's why today we're excited to release @tailwindcss/typography — a plugin that lets
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/tailwindcss-typography
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.091o.mndg5fwz.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2693 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed78,548 bytes of HTML; budget 500,000
1124
https://tailwindcss.com/blog/building-the-tailwind-blog200Building the Tailwind Blog with Next.js - Tailwind CSS
Page checklist evidence
  • title: passedBuilding the Tailwind Blog with Next.js - Tailwind CSS
  • description: passedOne of the things we believe as a team is that everything we make should be sealed with a blog post. Forcing ourselves to write up a short announcement post for every project we work on acts as a built-in quality check, making sure that we never call a project
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 45 links have no HTML name
  • link-text: passed0 of 45 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/building-the-tailwind-blog
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedBuilding the Tailwind Blog with Next.js
  • og-description: passedOne of the things we believe as a team is that everything we make should be sealed with a blog post. Forcing ourselves to write up a short announcement post for every project we work on acts as a built-in quality check, making sure that we never call a project
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/building-the-tailwind-blog
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0~9q9j~e674b6.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed11518 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed184,895 bytes of HTML; budget 500,000
1260
https://tailwindcss.com/blog/introducing-linting-for-tailwindcss-intellisense200Introducing linting for Tailwind CSS IntelliSense - Tailwind CSS
Page checklist evidence
  • title: passedIntroducing linting for Tailwind CSS IntelliSense - Tailwind CSS
  • description: passedToday we’re releasing a new version of the Tailwind CSS IntelliSense extension for Visual Studio Code that adds Tailwind-specific linting to both your CSS and your markup.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 3 images lack an alt attribute
  • img-dimensions: passed0 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: passed0 of 1 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 39 links have no HTML name
  • link-text: passed0 of 39 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/blog/introducing-linting-for-tailwindcss-intellisense
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedIntroducing linting for Tailwind CSS IntelliSense
  • og-description: passedToday we’re releasing a new version of the Tailwind CSS IntelliSense extension for Visual Studio Code that adds Tailwind-specific linting to both your CSS and your markup.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/blog/introducing-linting-for-tailwindcss-intellisense
  • og-image: passedhttps://tailwindcss.com/_next/static/media/card.0vdhm4bqjf_-1.jpg
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed2734 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed76,787 bytes of HTML; budget 500,000
1148
https://tailwindcss.com/docs/editor-setup200Editor setup - Getting started - Tailwind CSS
Page checklist evidence
  • title: passedEditor setup - Getting started - Tailwind CSS
  • description: passedTooling to improve the developer experience when working with Tailwind CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 5 images lack an alt attribute
  • img-dimensions: passed0 of 5 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 259 links have no HTML name
  • link-text: passed0 of 259 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/editor-setup
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedEditor setup - Getting started
  • og-description: passedTooling to improve the developer experience when working with Tailwind CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/editor-setup
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/editor-setup
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed6335 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed300,948 bytes of HTML; budget 500,000
1165
https://tailwindcss.com/docs/compatibility200Compatibility - Getting started - Tailwind CSS
Page checklist evidence
  • title: passedCompatibility - Getting started - Tailwind CSS
  • description: passedLearn about browser support and compatibility with other tooling.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 260 links have no HTML name
  • link-text: passed0 of 260 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/compatibility
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedCompatibility - Getting started
  • og-description: passedLearn about browser support and compatibility with other tooling.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/compatibility
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/compatibility
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed9986 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed356,561 bytes of HTML; budget 500,000
1164
https://tailwindcss.com/docs/upgrade-guide200Upgrade guide - Getting started - Tailwind CSS
Page checklist evidence
  • title: passedUpgrade guide - Getting started - Tailwind CSS
  • description: passedUpgrading your Tailwind CSS projects from v3 to v4.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 313 links have no HTML name
  • link-text: passed0 of 313 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/upgrade-guide
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedUpgrade guide - Getting started
  • og-description: passedUpgrading your Tailwind CSS projects from v3 to v4.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/upgrade-guide
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/upgrade-guide
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed24854 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed630,528 bytes of HTML; budget 500,000
1171
https://tailwindcss.com/docs/styling-with-utility-classes200Styling with utility classes - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedStyling with utility classes - Core concepts - Tailwind CSS
  • description: passedBuilding complex components from a constrained set of primitive utilities.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed2 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 13 images lack an alt attribute
  • img-dimensions: failed11 of 13 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 8 buttons have no HTML name
  • links-named: passed0 of 308 links have no HTML name
  • link-text: passed0 of 308 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/styling-with-utility-classes
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedStyling with utility classes - Core concepts
  • og-description: passedBuilding complex components from a constrained set of primitive utilities.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/styling-with-utility-classes
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/styling-with-utility-classes
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed25299 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed746,796 bytes of HTML; budget 500,000
1184
https://tailwindcss.com/docs/hover-focus-and-other-states200Hover, focus, and other states - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedHover, focus, and other states - Core concepts - Tailwind CSS
  • description: passedUsing utilities to style elements on hover, focus, and more.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 18 images lack an alt attribute
  • img-dimensions: failed17 of 18 images lack width/height attributes or an aspect-ratio style
  • labels: failed1 of 30 controls have no HTML label
  • buttons: passed0 of 30 buttons have no HTML name
  • links-named: passed0 of 525 links have no HTML name
  • link-text: passed0 of 525 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/hover-focus-and-other-states
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedHover, focus, and other states - Core concepts
  • og-description: passedUsing utilities to style elements on hover, focus, and more.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/hover-focus-and-other-states
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/hover-focus-and-other-states
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed51287 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed1,605,933 bytes of HTML; budget 500,000
1223
https://tailwindcss.com/docs/responsive-design200Responsive design - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedResponsive design - Core concepts - Tailwind CSS
  • description: passedUsing responsive utility variants to build adaptive user interfaces.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 277 links have no HTML name
  • link-text: passed0 of 277 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/responsive-design
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedResponsive design - Core concepts
  • og-description: passedUsing responsive utility variants to build adaptive user interfaces.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/responsive-design
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/responsive-design
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed14429 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed467,575 bytes of HTML; budget 500,000
1189
https://tailwindcss.com/docs/dark-mode200Dark mode - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedDark mode - Core concepts - Tailwind CSS
  • description: passedUsing variants to style your site in dark mode.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 240 links have no HTML name
  • link-text: passed0 of 240 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/dark-mode
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDark mode - Core concepts
  • og-description: passedUsing variants to style your site in dark mode.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/dark-mode
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/dark-mode
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed6966 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed342,358 bytes of HTML; budget 500,000
1170
https://tailwindcss.com/docs/theme200Theme variables - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedTheme variables - Core concepts - Tailwind CSS
  • description: passedUsing utility classes as an API for your design tokens.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 275 links have no HTML name
  • link-text: passed0 of 275 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/theme
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedTheme variables - Core concepts
  • og-description: passedUsing utility classes as an API for your design tokens.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/theme
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/theme
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed36139 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed1,021,512 bytes of HTML; budget 500,000
1204
https://tailwindcss.com/docs/colors200Colors - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedColors - Core concepts - Tailwind CSS
  • description: passedUsing and customizing the color palette in Tailwind CSS projects.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: failed286 of 291 buttons have no HTML name
  • links-named: passed0 of 275 links have no HTML name
  • link-text: passed0 of 275 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/colors
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedColors - Core concepts
  • og-description: passedUsing and customizing the color palette in Tailwind CSS projects.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/colors
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/colors
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed24117 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed942,267 bytes of HTML; budget 500,000
1418
https://tailwindcss.com/docs/adding-custom-styles200Adding custom styles - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedAdding custom styles - Core concepts - Tailwind CSS
  • description: passedBest practices for adding your own custom styles in Tailwind projects.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 274 links have no HTML name
  • link-text: passed0 of 274 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/adding-custom-styles
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedAdding custom styles - Core concepts
  • og-description: passedBest practices for adding your own custom styles in Tailwind projects.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/adding-custom-styles
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/adding-custom-styles
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed17717 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: failed596,762 bytes of HTML; budget 500,000
1183
https://tailwindcss.com/docs/detecting-classes-in-source-files200Detecting classes in source files - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedDetecting classes in source files - Core concepts - Tailwind CSS
  • description: passedUnderstanding and customizing how Tailwind scans your source files.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 257 links have no HTML name
  • link-text: passed0 of 257 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/detecting-classes-in-source-files
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedDetecting classes in source files - Core concepts
  • og-description: passedUnderstanding and customizing how Tailwind scans your source files.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/detecting-classes-in-source-files
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/detecting-classes-in-source-files
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed10485 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed436,865 bytes of HTML; budget 500,000
1185
https://tailwindcss.com/docs/functions-and-directives200Functions and directives - Core concepts - Tailwind CSS
Page checklist evidence
  • title: passedFunctions and directives - Core concepts - Tailwind CSS
  • description: passedA reference for the custom functions and directives Tailwind exposes to your CSS.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 260 links have no HTML name
  • link-text: passed0 of 260 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/functions-and-directives
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedFunctions and directives - Core concepts
  • og-description: passedA reference for the custom functions and directives Tailwind exposes to your CSS.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/functions-and-directives
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/functions-and-directives
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed8988 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed398,209 bytes of HTML; budget 500,000
1171
https://tailwindcss.com/docs/preflight200Preflight - Base styles - Tailwind CSS
Page checklist evidence
  • title: passedPreflight - Base styles - Tailwind CSS
  • description: passedAn opinionated set of base styles for Tailwind projects.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 260 links have no HTML name
  • link-text: passed0 of 260 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/preflight
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedPreflight - Base styles
  • og-description: passedAn opinionated set of base styles for Tailwind projects.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/preflight
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/preflight
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed10531 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed430,174 bytes of HTML; budget 500,000
1168
https://tailwindcss.com/docs/aspect-ratio200aspect-ratio - Layout - Tailwind CSS
Page checklist evidence
  • title: passedaspect-ratio - Layout - Tailwind CSS
  • description: passedUtilities for controlling the aspect ratio of an element.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed1 of 2 images lack an alt attribute
  • img-dimensions: failed1 of 2 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 245 links have no HTML name
  • link-text: passed0 of 245 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/aspect-ratio
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedaspect-ratio - Layout
  • og-description: passedUtilities for controlling the aspect ratio of an element.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/aspect-ratio
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/aspect-ratio
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed5213 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed336,248 bytes of HTML; budget 500,000
1161
https://tailwindcss.com/docs/columns200columns - Layout - Tailwind CSS
Page checklist evidence
  • title: passedcolumns - Layout - Tailwind CSS
  • description: passedUtilities for controlling the number of columns within an element.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed31 of 32 images lack an alt attribute
  • img-dimensions: failed31 of 32 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 6 buttons have no HTML name
  • links-named: passed0 of 248 links have no HTML name
  • link-text: passed0 of 248 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/columns
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedcolumns - Layout
  • og-description: passedUtilities for controlling the number of columns within an element.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/columns
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/columns
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed6600 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed398,643 bytes of HTML; budget 500,000
1168
https://tailwindcss.com/docs/break-after200break-after - Layout - Tailwind CSS
Page checklist evidence
  • title: passedbreak-after - Layout - Tailwind CSS
  • description: passedUtilities for controlling how a column or page should break after an element.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 238 links have no HTML name
  • link-text: passed0 of 238 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/break-after
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedbreak-after - Layout
  • og-description: passedUtilities for controlling how a column or page should break after an element.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/break-after
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/break-after
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4267 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed299,749 bytes of HTML; budget 500,000
11,406
https://tailwindcss.com/docs/break-before200break-before - Layout - Tailwind CSS
Page checklist evidence
  • title: passedbreak-before - Layout - Tailwind CSS
  • description: passedUtilities for controlling how a column or page should break before an element.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 238 links have no HTML name
  • link-text: passed0 of 238 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/break-before
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedbreak-before - Layout
  • og-description: passedUtilities for controlling how a column or page should break before an element.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/break-before
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/break-before
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4297 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed299,838 bytes of HTML; budget 500,000
1177
https://tailwindcss.com/docs/break-inside200break-inside - Layout - Tailwind CSS
Page checklist evidence
  • title: passedbreak-inside - Layout - Tailwind CSS
  • description: passedUtilities for controlling how a column or page should break within an element.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 238 links have no HTML name
  • link-text: passed0 of 238 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/break-inside
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedbreak-inside - Layout
  • og-description: passedUtilities for controlling how a column or page should break within an element.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/break-inside
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/break-inside
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4192 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed298,118 bytes of HTML; budget 500,000
1175
https://tailwindcss.com/docs/box-decoration-break200box-decoration-break - Layout - Tailwind CSS
Page checklist evidence
  • title: passedbox-decoration-break - Layout - Tailwind CSS
  • description: passedUtilities for controlling how element fragments should be rendered across multiple lines, columns, or pages.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 238 links have no HTML name
  • link-text: passed0 of 238 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/box-decoration-break
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedbox-decoration-break - Layout
  • og-description: passedUtilities for controlling how element fragments should be rendered across multiple lines, columns, or pages.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/box-decoration-break
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/box-decoration-break
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4373 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed300,106 bytes of HTML; budget 500,000
1164
https://tailwindcss.com/docs/box-sizing200box-sizing - Layout - Tailwind CSS
Page checklist evidence
  • title: passedbox-sizing - Layout - Tailwind CSS
  • description: passedUtilities for controlling how the browser should calculate an element's total size.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: passed0 of 1 images lack an alt attribute
  • img-dimensions: passed0 of 1 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 241 links have no HTML name
  • link-text: passed0 of 241 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/box-sizing
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedbox-sizing - Layout
  • og-description: passedUtilities for controlling how the browser should calculate an element's total size.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/box-sizing
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/box-sizing
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed4727 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed314,217 bytes of HTML; budget 500,000
1158
https://tailwindcss.com/docs/display200display - Layout - Tailwind CSS
Page checklist evidence
  • title: passeddisplay - Layout - Tailwind CSS
  • description: passedUtilities for controlling the display box type of an element.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed1 of 3 images lack an alt attribute
  • img-dimensions: failed2 of 3 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 6 buttons have no HTML name
  • links-named: passed0 of 258 links have no HTML name
  • link-text: passed0 of 258 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/display
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passeddisplay - Layout
  • og-description: passedUtilities for controlling the display box type of an element.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/display
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/display
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed9433 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed479,434 bytes of HTML; budget 500,000
1178
https://tailwindcss.com/docs/float200float - Layout - Tailwind CSS
Page checklist evidence
  • title: passedfloat - Layout - Tailwind CSS
  • description: passedUtilities for controlling the wrapping of content around an element.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed5 of 6 images lack an alt attribute
  • img-dimensions: failed5 of 6 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 245 links have no HTML name
  • link-text: passed0 of 245 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/float
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedfloat - Layout
  • og-description: passedUtilities for controlling the wrapping of content around an element.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/float
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/float
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed8017 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed342,905 bytes of HTML; budget 500,000
1273
https://tailwindcss.com/docs/clear200clear - Layout - Tailwind CSS
Page checklist evidence
  • title: passedclear - Layout - Tailwind CSS
  • description: passedUtilities for controlling the wrapping of content around an element.
  • canonical: failedNo canonical URL
  • h1: passed1 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: failed10 of 11 images lack an alt attribute
  • img-dimensions: failed10 of 11 images lack width/height attributes or an aspect-ratio style
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 5 buttons have no HTML name
  • links-named: passed0 of 247 links have no HTML name
  • link-text: passed0 of 247 links use generic text
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://tailwindcss.com/docs/clear
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passedclear - Layout
  • og-description: passedUtilities for controlling the wrapping of content around an element.
  • og-type: passedarticle
  • og-url: passedhttps://tailwindcss.com/docs/clear
  • og-image: passedhttps://tailwindcss.com/api/og?path=/docs/clear
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed8418 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed361,423 bytes of HTML; budget 500,000
1385
Optional AI signals

Informational signals; these do not certify search visibility or unlock S-Tier.

  • llms.txtGuide for AI agents
  • Structured dataJSON-LD on the homepage
  • Semantic HTMLMain and navigation landmarks
Browser measurements · supplementary

Mobile page report

tailwindcss.com

https://tailwindcss.com/

Measured · 9/13/2026, 6:38:36 PM UTC

Speed
58
Accessibility
84
SEO basics
91
Main content (LCP)
22.2 s
Layout shifts (CLS)
0.001
Blocking time (TBT)
60 ms

Your next improvements

Measured findings to investigate, ordered by audit score.

1. LCP breakdown

Each [subpart has specific improvement strategies](https://developer.chrome.com/docs/performance/insights/lcp-breakdown). Ideally, most of the LCP time should be spent on loading the resources, not within delays.

2. Network dependency tree

[Avoid chaining critical requests](https://developer.chrome.com/docs/performance/insights/network-dependency-tree) by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.

3. Elements with `role="none"` or `role="presentation"` have conflicts

There are certain cases where the semantic role of an element with `role="none"` or `role="presentation"` does not resolve to none or presentation. To ensure the element remains removed from the accessibility tree, you should not add any global ARIA attributes to the element or make it focusable. [Learn more about presentation role conflict](https://dequeuniversity.com/rules/axe/4.12/presentation-role-conflict).

div.h-112 > div.grid > div.-translate-y-4 > img.absolute · <img alt="" src="/_next/static/media/3d-transforms.02bsrv~jiqeb9.jpeg" class="absolute inset-0 size-82 rounded-2xl shadow-2xl outline outline-gray-950/5…" tabindex="0" style="transform:none">
div.flex > div.isolate > div.sticky > button.isolate · <button class="isolate rounded-sm px-2 py-1 text-xs/5 text-white inset-ring-white/5 hover…" role="presentation" aria-selected="true">
div.flex > div.isolate > div.sticky > button.isolate · <button class="isolate rounded-sm px-2 py-1 text-xs/5 text-white inset-ring-white/5 hover…" role="presentation">
4. Elements with visible text labels do not have matching accessible names.

Visible text labels that do not match the accessible name can result in a confusing experience for screen reader users. [Learn more about accessible names](https://dequeuniversity.com/rules/axe/4.12/label-content-name-mismatch).

div.bg-white > div.flex > div.flex > button#headlessui-menu-button-_R_ualudb_ · <button class="flex items-center gap-0.5 rounded-2xl bg-gray-950/5 py-0.5 pr-1.5 pl-2.5 t…" aria-label="Select version of library" id="headlessui-menu-button-_R_ualudb_" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state="">
5. `[aria-*]` attributes do not match their roles

Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. [Learn how to match ARIA attributes to their roles](https://dequeuniversity.com/rules/axe/4.12/aria-allowed-attr).

div.flex > div.isolate > div.sticky > button.isolate · <button class="isolate rounded-sm px-2 py-1 text-xs/5 text-white inset-ring-white/5 hover…" role="presentation" aria-selected="true">
div.flex > div.isolate > div.sticky > button.isolate · <button class="isolate rounded-sm px-2 py-1 text-xs/5 text-white inset-ring-white/5 hover…" role="presentation" aria-selected="true">
div.flex > div.isolate > div.sticky > button.isolate · <button class="isolate rounded-sm px-2 py-1 text-xs/5 text-white inset-ring-white/5 hover…" role="presentation" aria-selected="true">
6. Background and foreground colors do not have a sufficient contrast ratio.

Low-contrast text is difficult or impossible for many users to read. [Learn how to provide sufficient color contrast](https://dequeuniversity.com/rules/axe/4.12/color-contrast).

div.grid > div.grid > div > div.flex · <div aria-hidden="true" class="flex h-16 items-end px-2 font-mono text-xs/6 whitespace-pre text-black/20 …">
div.grid > div > div.flex > span.hidden · <span class="hidden max-sm:inline">
div.grid > div > div.flex > span.inline · <span class="inline dark:hidden">
7. Document does not have a main landmark.

One main landmark helps screen reader users navigate a web page. [Learn more about landmarks](https://dequeuniversity.com/rules/axe/4.12/landmark-one-main).

html.inter_6a166f28-module__775SPq__variable · <html lang="en" class="inter_6a166f28-module__775SPq__variable plexmono_ffb312b5-module__CmrMxG__…">
8. Image elements do not have `[alt]` attributes

Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. [Learn more about the `alt` attribute](https://dequeuniversity.com/rules/axe/4.12/image-alt).

div.isolate > div.relative > div.col-start-1 > img.absolute · <img class="absolute inset-0 [clip:rect(0px,calc(var(--midpoint)-var(--offset)),621px,…" src="/_next/static/media/dark-mode.light.0tx34lu8jwt_1.png" style="--offset: 0px; --midpoint: calc(348px / 2);">
div.isolate > div.relative > div.col-start-1 > img · <img src="/_next/static/media/dark-mode.dark.11szx9d7s4zjz.png">

Fix with your coding assistant

Copy a ready-to-use prompt with the issues and affected URLs.

Battle scoring rules

The arena winner follows the verified ranking: internal link health first, then the published two-decimal quality score. Both sites need two agreeing standard observations. Browser performance, accessibility and SEO are complementary diagnostics and do not move the ranking or decide its winner. Page-only battles compare compatible rounds; performance differences up to five points draw, and equal round wins remain a tie. Missing measurements never count as zero. Browser audits do not certify accessibility. Saved results keep their measured evidence; start a rematch for a newer comparison.