Skip to content
Accessibility / Custom Development

Wufyre Coffee Roasters

A Squarespace-to-WordPress conversion on a custom, client-owned theme, taken all the way to WCAG accessibility compliance at no charge. A re-verified automated audit returns zero errors and zero warnings.

Visit the Live Site
Wufyre Coffee Roasters website screenshot

The Challenge.

Wüfyre Coffee Roasters was running on Squarespace. It looked fine, but the business did not really own it: the design, the code, and the data all lived inside a builder they rented month to month, and there was no clean way to take it with them. The site also had the accessibility gaps that come standard with most template platforms: icon-only links with no accessible name, decorative icons announced to screen readers, missing landmarks, and no consent handling for the trackers running in the background. Wüfyre wanted a site they owned end to end, and they wanted it usable by everyone who landed on it.

What I Built.

I converted the whole site from Squarespace to a custom WordPress build on a theme I wrote for them, called “wufyre.” They own the code, the content, and the hosting. Nothing is locked behind a builder subscription anymore.

A page from the Wufyre Coffee Roasters site after the conversion to a custom WordPress build.

Once the site was theirs, I ran a full WCAG audit and remediated it end to end. I added a skip link, put real accessible names on the navigation regions, the cart, and the logo, hid decorative icons from screen readers, and gave the icon-only social links proper labels. I rebuilt the product quick-view as a real accessible dialog, with a focus trap, an Escape-to-close, and a keyboard-activatable close button. I wrote alt text across the site and checked every color pairing for contrast. The primary text color lands at 21:1, and the automated contrast check comes back with zero failures.

I also built Wüfyre a first-party cookie-consent system as a small must-use plugin, rather than dropping in an off-the-shelf banner. It gives visitors a real choice (Accept all, Reject non-essential, or Manage), and it enforces that choice: analytics and tracking scripts stay off until someone opts in, and it never blocks the cart, checkout, payment, or the contact form. Consent is stored first-party for 180 days, and opting out clears the tracking cookies that were already set. The consent window is held to the same accessibility standard as the rest of the site.

Alongside the build I wrote the site’s Privacy Policy, Cookie Policy, Accessibility Statement, and Terms of Service, and I set up the client’s domain email on SiteGround to route through Google. I handled the whole stack here (the conversion, the theme, the accessibility work, the policy pages, and the email and DNS), not just the pages you see.

The accessibility work was done at no charge. It was part of the ongoing updates I provide, not a line item. I do not just sell accessibility as a service, I delivered it for a client for free.

The Custom Pieces.

  • A full Squarespace to WordPress conversion on a custom, client-owned “wufyre” theme, with no builder subscription and no lock-in.
  • A full WCAG audit and remediation: skip link, accessible names on all nav regions plus the cart and logo, decorative icons hidden, real names on icon-only social links, and alt text across the site.
  • An accessible product quick-view, rebuilt as a true dialog with a focus trap, Escape-to-close, and a keyboard-activatable close button.
  • A first-party cookie-consent plugin (a must-use plugin, not an off-the-shelf banner) that gates analytics until opt-in, never blocks cart, checkout, payment, or contact, stores consent first-party for 180 days, and clears tracking cookies on opt-out. The consent interface meets the same accessibility bar as the site.
  • Four policy pages: Privacy Policy, Cookie Policy, Accessibility Statement, and Terms of Service.
  • Domain email set up on SiteGround to route through Google.

WCAG Audit: Clean Pass.

The most recent automated accessibility audit returns a clean result. Automated tooling does not catch every WCAG success criterion, so a manual keyboard and screen-reader pass backs it up, but the automated baseline is clean.

Automated accessibility audit results.
CheckResult
Automated errors0
Automated warnings0
Heading outlineCorrect, no skipped levels
Page landmarksAll present
Empty linksNone
Primary text contrast21:1 (passes AA and AAA)

The Result.

Wüfyre now runs on a custom WordPress site they own outright, with no builder lock-in. On a re-verified automated audit, the site returns zero errors and zero warnings, a correct heading outline with no skipped levels, all page landmarks present, and no empty links. The primary text contrast sits at 21:1, well past the AA threshold. The consent system gives real users a real choice and keeps the site honest about what runs before they make it. It is a clean, complete result: a business that owns its site, a build that meets WCAG, and a stack that is fully in their hands.

More Projects