From a36828596e48f8fcf014e081d845080392f31caa Mon Sep 17 00:00:00 2001 From: Sanjaiyan Parthipan Date: Thu, 4 Aug 2022 21:29:39 +0530 Subject: [PATCH 1/2] =?UTF-8?q?Optimize=20route-announcer=20=F0=9F=93=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/next/client/route-announcer.tsx | 34 +++++++++++++----------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/packages/next/client/route-announcer.tsx b/packages/next/client/route-announcer.tsx index 022342e0b300..beda36cd2254 100644 --- a/packages/next/client/route-announcer.tsx +++ b/packages/next/client/route-announcer.tsx @@ -1,7 +1,22 @@ import React from 'react' import { useRouter } from './router' -export function RouteAnnouncer() { +const nextjsRouteAnnouncerStyles: React.CSSProperties = { + border: 0, + clip: 'rect(0 0 0 0)', + height: '1px', + margin: '-1px', + overflow: 'hidden', + padding: 0, + position: 'absolute', + width: '1px', + + // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe + whiteSpace: 'nowrap', + wordWrap: 'normal', +} + +export const RouteAnnouncer = React.memo(() => { const { asPath } = useRouter() const [routeAnnouncement, setRouteAnnouncement] = React.useState('') @@ -39,24 +54,11 @@ export function RouteAnnouncer() { aria-live="assertive" // Make the announcement immediately. id="__next-route-announcer__" role="alert" - style={{ - border: 0, - clip: 'rect(0 0 0 0)', - height: '1px', - margin: '-1px', - overflow: 'hidden', - padding: 0, - position: 'absolute', - width: '1px', - - // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe - whiteSpace: 'nowrap', - wordWrap: 'normal', - }} + style={nextjsRouteAnnouncerStyles} > {routeAnnouncement}

) -} +}) export default RouteAnnouncer From 83dd8932729a061a894b19d6eba3cfe25ddad894 Mon Sep 17 00:00:00 2001 From: Sanjaiyan Parthipan Date: Fri, 5 Aug 2022 10:18:25 +0530 Subject: [PATCH 2/2] Remove memo --- packages/next/client/route-announcer.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/next/client/route-announcer.tsx b/packages/next/client/route-announcer.tsx index beda36cd2254..3b59fd84d96b 100644 --- a/packages/next/client/route-announcer.tsx +++ b/packages/next/client/route-announcer.tsx @@ -16,7 +16,7 @@ const nextjsRouteAnnouncerStyles: React.CSSProperties = { wordWrap: 'normal', } -export const RouteAnnouncer = React.memo(() => { +export const RouteAnnouncer = () => { const { asPath } = useRouter() const [routeAnnouncement, setRouteAnnouncement] = React.useState('') @@ -59,6 +59,6 @@ export const RouteAnnouncer = React.memo(() => { {routeAnnouncement}

) -}) +} export default RouteAnnouncer