summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-06-07 15:59:48 +0200
committerArmand Philippot <git@armandphilippot.com>2022-06-07 17:13:29 +0200
commitd54fc38899b3ffc87104ed03f5e48be3f02e337c (patch)
tree233df552fb67f5fab7a14eae339918743cd07d5f /src
parentac79a48c07c538316949d6284bc5d9c0eb2e3f91 (diff)
chore: use image title as figure label if no caption is provided
Diffstat (limited to 'src')
-rw-r--r--src/components/molecules/images/responsive-image.tsx8
-rw-r--r--src/pages/cv.tsx10
-rw-r--r--src/ts/types/mdx.ts7
-rw-r--r--src/utils/helpers/projects.ts1
4 files changed, 14 insertions, 12 deletions
diff --git a/src/components/molecules/images/responsive-image.tsx b/src/components/molecules/images/responsive-image.tsx
index 4541df8..5373561 100644
--- a/src/components/molecules/images/responsive-image.tsx
+++ b/src/components/molecules/images/responsive-image.tsx
@@ -49,6 +49,7 @@ const ResponsiveImage: FC<ResponsiveImageProps> = ({
layout,
objectFit,
target,
+ title,
withBorders,
...props
}) => {
@@ -59,15 +60,17 @@ const ResponsiveImage: FC<ResponsiveImageProps> = ({
return (
<figure
+ aria-label={caption ? undefined : title}
className={`${styles.wrapper} ${styles[bordersModifier]} ${styles[linkModifier]} ${className}`}
>
{target ? (
<Link href={target} className={styles.link}>
<Image
alt={alt}
+ className={styles.img}
layout={layout || 'intrinsic'}
objectFit={objectFit || 'contain'}
- className={styles.img}
+ title={title}
{...props}
/>
{caption && (
@@ -78,9 +81,10 @@ const ResponsiveImage: FC<ResponsiveImageProps> = ({
<>
<Image
alt={alt}
+ className={styles.img}
layout={layout || 'intrinsic'}
objectFit={objectFit || 'contain'}
- className={styles.img}
+ title={title}
{...props}
/>
{caption && (
diff --git a/src/pages/cv.tsx b/src/pages/cv.tsx
index 4686505..8b17da0 100644
--- a/src/pages/cv.tsx
+++ b/src/pages/cv.tsx
@@ -61,14 +61,6 @@ const CVPage: NextPageWithLayout = () => {
};
const { website } = useSettings();
- const cvAlt = intl.formatMessage(
- {
- defaultMessage: '{name} CV',
- description: 'CVPage: CV image alternative text',
- id: 'KUowUk',
- },
- { name: website.name }
- );
const cvCaption = intl.formatMessage(
{
defaultMessage: '<link>Download the CV in PDF</link>',
@@ -90,7 +82,7 @@ const CVPage: NextPageWithLayout = () => {
expanded={true}
title={imageWidgetTitle}
level={2}
- image={{ alt: cvAlt, ...image }}
+ image={image}
description={cvCaption}
imageClassName={styles.image}
/>,
diff --git a/src/ts/types/mdx.ts b/src/ts/types/mdx.ts
index 16538c1..7645ce6 100644
--- a/src/ts/types/mdx.ts
+++ b/src/ts/types/mdx.ts
@@ -3,7 +3,12 @@ import { Meta } from './app';
export type MDXData = {
file: string;
- image: StaticImageData;
+ image: MDXImage;
+};
+
+export type MDXImage = StaticImageData & {
+ alt: string;
+ title?: string;
};
export type MDXPageMeta = Pick<Meta<'page'>, 'cover' | 'dates' | 'seo'> & {
diff --git a/src/utils/helpers/projects.ts b/src/utils/helpers/projects.ts
index a0f0c04..88f4516 100644
--- a/src/utils/helpers/projects.ts
+++ b/src/utils/helpers/projects.ts
@@ -46,6 +46,7 @@ export const getProjectData = async (
...cover.default,
alt: `${title} image`,
src: `/projects/${filename}.jpg`,
+ title,
},
},
slug: filename,