Skip to content

Commit edcc449

Browse files
JoeMattclaude
andcommitted
fix: descriptive alt text on homepage screenshots, fix import order
Replaced generic 'iPhone screenshot N' alt text with descriptive labels derived from filenames (library, search, emulation, etc.) for better accessibility and SEO. Also moved metadata export to after imports (was accidentally placed mid-file). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent a5bedfb commit edcc449

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

src/app/page.tsx

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import type { Metadata } from 'next';
22
import Image from 'next/image';
3+
import iphone1 from '@/images/screenshots/ios/iphone1-library.jpg';
4+
import iphone2 from '@/images/screenshots/ios/iphone2-search.jpg';
5+
import iphone3 from '@/images/screenshots/ios/iphone3-emu.png';
6+
import ipad1 from '@/images/screenshots/ipad/ipad1-library.jpg';
7+
import ipad2 from '@/images/screenshots/ipad/ipad2-search.jpg';
38

49
export const metadata: Metadata = {
510
title: { absolute: 'iCube – GameCube & Wii Emulator for iOS & tvOS' },
611
description: 'Download iCube and play classic Nintendo GameCube and Wii games on your iPhone, iPad, and Apple TV. Fast, accurate emulation based on Dolphin.',
712
alternates: { canonical: 'https://icube-app.com/' },
813
};
9-
import iphone1 from '@/images/screenshots/ios/iphone1-library.jpg';
10-
import iphone2 from '@/images/screenshots/ios/iphone2-search.jpg';
11-
import iphone3 from '@/images/screenshots/ios/iphone3-emu.png';
12-
import ipad1 from '@/images/screenshots/ipad/ipad1-library.jpg';
13-
import ipad2 from '@/images/screenshots/ipad/ipad2-search.jpg';
1414
import DownloadSection from '@/components/DownloadSection';
1515
import SocialButton, { DiscordIcon, XIcon, BmcIcon, PatreonIcon } from '@/components/SocialButton';
1616
import Features from '@/components/Features';
@@ -99,12 +99,16 @@ export default function Home() {
9999
iPhone
100100
</h3>
101101
<div className="flex flex-wrap justify-center gap-6">
102-
{[iphone1, iphone2, iphone3].map((img, idx) => (
102+
{([
103+
[iphone1, 'iCube game library on iPhone'],
104+
[iphone2, 'iCube game search on iPhone'],
105+
[iphone3, 'iCube running a GameCube game on iPhone'],
106+
] as const).map(([img, alt], idx) => (
103107
<div key={`iphone-${idx}`} className="bg-gray-200 dark:bg-gray-700 rounded-lg p-4 shadow-lg">
104108
<div className="rounded-lg overflow-hidden w-64 h-96">
105109
<Image
106110
src={img}
107-
alt={`iPhone screenshot ${idx + 1}`}
111+
alt={alt}
108112
className="h-full w-full object-cover"
109113
sizes="(max-width: 768px) 256px, 256px"
110114
priority={idx === 0}
@@ -121,12 +125,15 @@ export default function Home() {
121125
iPad
122126
</h3>
123127
<div className="flex flex-wrap justify-center gap-6">
124-
{[ipad1, ipad2].map((img, idx) => (
128+
{([
129+
[ipad1, 'iCube game library on iPad'],
130+
[ipad2, 'iCube game search on iPad'],
131+
] as const).map(([img, alt], idx) => (
125132
<div key={`ipad-${idx}`} className="bg-gray-200 dark:bg-gray-700 rounded-lg p-4 shadow-lg">
126133
<div className="rounded-lg overflow-hidden w-80 h-60">
127134
<Image
128135
src={img}
129-
alt={`iPad screenshot ${idx + 1}`}
136+
alt={alt}
130137
className="h-full w-full object-cover"
131138
sizes="(max-width: 768px) 320px, 320px"
132139
/>
@@ -142,12 +149,16 @@ export default function Home() {
142149
Apple TV
143150
</h3>
144151
<div className="flex flex-wrap justify-center gap-6">
145-
{[tvos1, tvos2, tvos3].map((img, idx) => (
152+
{([
153+
[tvos1, 'iCube pause menu on Apple TV'],
154+
[tvos2, 'iCube settings on Apple TV'],
155+
[tvos3, 'iCube game sources on Apple TV'],
156+
] as const).map(([img, alt], idx) => (
146157
<div key={`appletv-${idx}`} className="bg-gray-200 dark:bg-gray-700 rounded-lg p-4 shadow-lg">
147158
<div className="rounded-lg overflow-hidden w-[384px] aspect-video">
148159
<Image
149160
src={img}
150-
alt={`Apple TV screenshot ${idx + 1}`}
161+
alt={alt}
151162
className="h-full w-full object-cover"
152163
sizes="(max-width: 768px) 384px, 384px"
153164
/>

0 commit comments

Comments
 (0)