Skip to content

fix(a11y,seo,reliability): schema id, skip link, email error logging#5

Merged
JasonColapietro merged 2 commits into
mainfrom
fix/qa-a11y-schema-email-logging
May 30, 2026
Merged

fix(a11y,seo,reliability): schema id, skip link, email error logging#5
JasonColapietro merged 2 commits into
mainfrom
fix/qa-a11y-schema-email-logging

Conversation

@JasonColapietro

Copy link
Copy Markdown
Collaborator

Summary

Three independent QA fixes for suedeai.org:

  • Schema.orgjason-colapietro/index.html had the Person @id pointing at app.suedeai.ai/founder#person, anchoring the entity to an app subdomain instead of the SEO-first site where the schema is published. Moved to suedeai.org/jason-colapietro/#person. Also removed a duplicate sameAs entry and added suede-ai.github.io as a cross-link.
  • Accessibility — added a skip-to-main link before <header> and a :focus-visible outline ring so keyboard users get a visible focus indicator over the translucent dark header. WCAG 2.4.3 + 2.4.11.
  • Reliabilityapi/contact.js and api/book.js were calling await sendEmail(...) and discarding the result. A failed Resend call after a successful Supabase insert was invisible — the user saw a thanks page but never got the email. Now logs the failure with status + payload so it's visible in Vercel logs.

Test plan

  • Tab through suedeai.org with keyboard; first Tab reveals "Skip to main content" link, second Tab shows visible focus ring on logo
  • View source of /jason-colapietro/; JSON-LD @id is https://suedeai.org/jason-colapietro/#person; sameAs has no duplicates
  • Submit contact form with CONTACT_NOTIFY_TO unset; success response returns; Vercel function log shows [contact] email notification failed (or alternatively just no log if env not set — verify behavior)

🤖 Generated with Claude Code

- jason-colapietro: Person @id moved from app.suedeai.ai/founder#person
  to suedeai.org/jason-colapietro/#person so the entity node lives at
  the SEO-first site it's published on. Removed duplicate sameAs entry
  and added suede-ai.github.io as a cross-link.
- index.html + styles.css: added skip-to-main-content link plus a
  :focus-visible outline ring so keyboard users have a visible focus
  indicator over the translucent dark header.
- api/contact.js + api/book.js: log Resend send failures instead of
  swallowing them. A failed email after a successful Supabase insert
  is now visible in Vercel logs.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@vercel

vercel Bot commented May 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
suedeai-org Ready Ready Preview, Comment May 30, 2026 1:25am

Request Review

JasonColapietro added a commit that referenced this pull request May 30, 2026
* seo: Jason Colapietro author/entity signals + de-orphan founder page + investor entity graph

- 10 topical pages: visible 'By Jason Colapietro' byline + footer/nav link to /jason-colapietro/, author Person JSON-LD (url + verified sameAs), author + twitter:site/creator meta, og:image dims
- dedupe triplicated og/twitter meta blocks (creator-ownership, agentic-commerce, ai-voice/likeness-protection, human-authenticity-layer, book)
- book: author node with url+sameAs, ASIN identifier (B0GD5FX6N6)
- investors: WebPage @graph refs (#website/#organization), author Person, og:site_name Suede->Suede Labs, twitter handles, og dims, sitemap link, investor-intent copy, further-reading links
- investors/thanks: header + footer + BreadcrumbList (keeps noindex)
- llms.txt + contact: link the investor brief
- HOLDS index.html + jason-colapietro/index.html (open PRs #3/#5)

* seo: add Johnny Suede alias to bylines + author schema (alternateName + visible)
…ail-logging

# Conflicts:
#	jason-colapietro/index.html
@JasonColapietro JasonColapietro merged commit 847a216 into main May 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant