From 0529ab4d504533bbb199b991188d409bafef6fa3 Mon Sep 17 00:00:00 2001 From: Bart Stefanski Date: Sun, 17 Oct 2021 23:56:24 +0200 Subject: [PATCH] improve a11y score --- components/ArticleCard.tsx | 2 +- components/ArticleImage.tsx | 1 + components/BasicCard.tsx | 2 +- components/BasicSection.tsx | 2 +- components/Navbar.tsx | 2 +- components/NewsletterModal.tsx | 11 +++-- env.ts | 1 + pages/_document.tsx | 2 +- pages/index.tsx | 77 +++++++++++++++++------------- views/HomePage/FeaturesGallery.tsx | 6 +-- views/HomePage/Partners.tsx | 6 ++- views/HomePage/Testimonials.tsx | 9 +++- 12 files changed, 72 insertions(+), 49 deletions(-) diff --git a/components/ArticleCard.tsx b/components/ArticleCard.tsx index 804f776cb..353daa611 100644 --- a/components/ArticleCard.tsx +++ b/components/ArticleCard.tsx @@ -16,7 +16,7 @@ export default function ArticleCard({ title, slug, imageUrl, description }: Arti - + {title} diff --git a/components/ArticleImage.tsx b/components/ArticleImage.tsx index 757adec9a..4e4feb7dd 100644 --- a/components/ArticleImage.tsx +++ b/components/ArticleImage.tsx @@ -13,6 +13,7 @@ export default function ArticleImage({ src, caption, ...rest }: ArticleImageProp - + {title} {description} diff --git a/components/BasicSection.tsx b/components/BasicSection.tsx index 6fd20179c..fe6c74684 100644 --- a/components/BasicSection.tsx +++ b/components/BasicSection.tsx @@ -17,7 +17,7 @@ export default function BasicSection({ imageUrl, title, overTitle, reversed, chi return ( - + {overTitle} diff --git a/components/Navbar.tsx b/components/Navbar.tsx index 41eff663b..7e6b24f77 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -75,7 +75,7 @@ export default function Navbar({ items }: NavbarProps) { ))} - + diff --git a/components/NewsletterModal.tsx b/components/NewsletterModal.tsx index b2a656171..a1f912e26 100644 --- a/components/NewsletterModal.tsx +++ b/components/NewsletterModal.tsx @@ -1,6 +1,7 @@ -import { FormEventHandler, useState } from 'react'; +import React, { useState } from 'react'; import MailchimpSubscribe, { DefaultFormFields } from 'react-mailchimp-subscribe'; import styled from 'styled-components'; +import { EnvVars } from 'env'; import useEscClose from 'hooks/useEscKey'; import { media } from 'utils/media'; import Button from './Button'; @@ -19,7 +20,7 @@ export default function NewsletterModal({ onClose }: NewsletterModalProps) { useEscClose({ onClose }); - function onSubmit(event: HTMLFormElement, enrollNewsletter: (props: DefaultFormFields) => void) { + function onSubmit(event: React.FormEvent, enrollNewsletter: (props: DefaultFormFields) => void) { event.preventDefault(); console.log({ email }); if (email) { @@ -29,13 +30,13 @@ export default function NewsletterModal({ onClose }: NewsletterModalProps) { return ( { const hasSignedUp = status === 'success'; return ( - onSubmit(event, subscribe)}> + ) => onSubmit(event, subscribe)}> @@ -54,7 +55,7 @@ export default function NewsletterModal({ onClose }: NewsletterModalProps) { Submit - {message && } + {message && } )} diff --git a/env.ts b/env.ts index fd2e30db0..aa8020d28 100644 --- a/env.ts +++ b/env.ts @@ -2,4 +2,5 @@ export const EnvVars = { SITE_NAME: 'My SaaS Startup', OG_IMAGES_URL: 'https://next-saas-starter-ashy.vercel.app/og-images/', URL: 'https://next-saas-starter-ashy.vercel.app/', + MAILCHIMP_SUBSCRIBE_URL: 'https://bstefanski.us5.list-manage.com/subscribe/post?u=66b4c22d5c726ae22da1dcb2e&id=679fb0eec9', }; diff --git a/pages/_document.tsx b/pages/_document.tsx index 62e15b797..53b2054ca 100644 --- a/pages/_document.tsx +++ b/pages/_document.tsx @@ -30,7 +30,7 @@ export default class MyDocument extends Document { render() { return ( - + diff --git a/pages/index.tsx b/pages/index.tsx index 110836339..e24a5219b 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,7 +1,9 @@ import { InferGetStaticPropsType } from 'next'; +import Head from 'next/head'; import styled from 'styled-components'; import BasicSection from 'components/BasicSection'; import Link from 'components/Link'; +import { EnvVars } from 'env'; import { getAllPosts } from 'utils/postsFetcher'; import Cta from 'views/HomePage/Cta'; import Features from 'views/HomePage/Features'; @@ -13,39 +15,48 @@ import Testimonials from 'views/HomePage/Testimonials'; export default function Homepage({ posts }: InferGetStaticPropsType) { return ( - - - - - -

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas, quidem error incidunt a doloremque voluptatem porro inventore - voluptate quo deleniti animi laboriosam.{' '} - Possimus ullam velit rem itaque consectetur, in distinctio? Lorem ipsum, dolor sit amet - consectetur adipisicing elit. Soluta repellendus quia quos obcaecati nihil. Laudantium non accusantium, voluptate eum nesciunt - at suscipit quis est soluta? -

-
- -

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas, quidem error incidunt a doloremque voluptatem porro inventore{' '} - voluptate quo deleniti animi laboriosam. Possimus ullam velit rem itaque consectetur, in distinctio? -

-
    -
  • Professional point 1
  • -
  • Professional remark 2
  • -
  • Professional feature 3
  • -
-
-
- - - - - - - -
+ <> + + {EnvVars.SITE_NAME} + + + + + + + +

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas, quidem error incidunt a doloremque voluptatem porro inventore + voluptate quo deleniti animi laboriosam.{' '} + Possimus ullam velit rem itaque consectetur, in distinctio? Lorem ipsum, dolor sit amet + consectetur adipisicing elit. Soluta repellendus quia quos obcaecati nihil. Laudantium non accusantium, voluptate eum nesciunt + at suscipit quis est soluta? +

+
+ +

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Quas, quidem error incidunt a doloremque voluptatem porro inventore{' '} + voluptate quo deleniti animi laboriosam. Possimus ullam velit rem itaque consectetur, in distinctio? +

+
    +
  • Professional point 1
  • +
  • Professional remark 2
  • +
  • Professional feature 3
  • +
+
+
+ + + + + + + +
+ ); } diff --git a/views/HomePage/FeaturesGallery.tsx b/views/HomePage/FeaturesGallery.tsx index 2e99858eb..9f28357df 100644 --- a/views/HomePage/FeaturesGallery.tsx +++ b/views/HomePage/FeaturesGallery.tsx @@ -44,7 +44,7 @@ export default function FeaturesGallery() { return ( - + ); }); @@ -58,7 +58,7 @@ export default function FeaturesGallery() { -

{singleTab.title}

+

{singleTab.title}

@@ -176,7 +176,7 @@ const TabTitleContainer = styled.div` display: flex; align-items: center; - h3 { + h4 { flex: 1; } `; diff --git a/views/HomePage/Partners.tsx b/views/HomePage/Partners.tsx index e4845d87c..5a338a5a7 100644 --- a/views/HomePage/Partners.tsx +++ b/views/HomePage/Partners.tsx @@ -36,7 +36,7 @@ export default function Partners() { > {PARTNER_LOGOS.map((logo) => ( - + ))} @@ -44,6 +44,10 @@ export default function Partners() { ); } +function normalizePartnerLogoName(logo: string) { + return logo.replace('.svg', ''); +} + const Title = styled.h3` font-size: 1.3rem; letter-spacing: 0.02em; diff --git a/views/HomePage/Testimonials.tsx b/views/HomePage/Testimonials.tsx index ffc1d1f85..7c134dd63 100644 --- a/views/HomePage/Testimonials.tsx +++ b/views/HomePage/Testimonials.tsx @@ -47,11 +47,16 @@ export default function Testimonials() { {TESTIMONIALS.map((singleTestimonial, idx) => ( - + “{singleTestimonial.content}” - + {singleTestimonial.author.name}