Skip to content

Commit d54a853

Browse files
committed
More semantic tags
1 parent 93c09db commit d54a853

File tree

2 files changed

+22
-21
lines changed

2 files changed

+22
-21
lines changed

apps/nextjs/app/[lang]/[pathPrefix]/[pathSuffix]/page.tsx

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -184,33 +184,34 @@ export default function Page({ params }: PageProps) {
184184

185185
return (
186186
<>
187-
<div className="mt-8 pt-2 dark:bg-gray-100 dark:text-gray-800">
188-
<div className="container p-2 px-8 md:px-16 mx-auto pt-16 space-y-1">
187+
<article className="mt-8 pt-2 dark:bg-gray-100 dark:text-gray-800" aria-label="Guide content">
188+
<header className="container p-2 px-8 md:px-16 mx-auto pt-16 space-y-1">
189189
<h3 className="pb-1 text-1xl font-bold md:text-1xl text-center">
190190
{course.idioma === 'en' ? 'Course: ' : 'Curso: '}{course.titulo}
191191
</h3>
192-
</div>
192+
</header>
193193
<h1 className="py-3 px-16 text-[2rem] font-bold text-left">
194194
{course.idioma === 'en' ? 'Guide' : 'Guía'}
195195
&nbsp;
196196
<span>{guideNumber}</span>: {myGuide.titulo}
197197
{myGuide.completed ? ' ✅' : ''}
198198
{myGuide.receivedScholarship ? ' 💰' : ''}
199199
</h1>
200-
<div
200+
<section
201201
className="py-3 px-16 text-1xl md:text-1xl text-justify **:list-inside"
202202
dangerouslySetInnerHTML={{ __html: guideHtml }}
203+
aria-label="Guide text"
203204
/>
204-
<div className="flex space-x-4 items-center justify-center">
205+
<aside className="flex space-x-4 items-center justify-center" aria-label="Interactive buttons">
205206
{isClient && showGoodDollarButton && (
206207
<GoodDollarClaimButton
207208
lang={course.idioma}
208209
/>
209210
)}
210211
{isClient && showCeloUbiButton && <CeloUbiButton />}
211-
</div>
212+
</aside>
212213

213-
<table className="mx-auto text-center mt-12">
214+
<nav aria-label="Guide navigation"><table className="mx-auto text-center mt-12">
214215
<tbody>
215216
<tr>
216217
<td>
@@ -250,9 +251,9 @@ export default function Page({ params }: PageProps) {
250251
</td>
251252
</tr>
252253
</tbody>
253-
</table>
254+
</table></nav>
254255
{creditsHtml && (
255-
<div className="text-sm mt-2">
256+
<footer className="text-sm mt-2" aria-label="Course credits and license">
256257
<h2 className="px-16 text-1xl font-bold md:text-1xl">
257258
{course.idioma === 'en'
258259
? 'Credits and License of this course'
@@ -262,9 +263,9 @@ export default function Page({ params }: PageProps) {
262263
className="py-3 px-16 text-1xl md:text-1xl text-justify"
263264
dangerouslySetInnerHTML={{ __html: creditsHtml }}
264265
/>
265-
</div>
266+
</footer>
266267
)}
267-
</div>
268+
</article>
268269

269270
<div>&nbsp;</div>
270271
</>

apps/nextjs/app/[lang]/page.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -172,19 +172,19 @@ export default function Page({ params }: PageProps) {
172172

173173
return (
174174
<Toast.Provider swipeDirection="right">
175-
<div className="bg-gradient-to-br from-white via-gray-50 to-gray-100 py-12 px-6">
175+
<section aria-label="Courses grid" className="bg-gradient-to-br from-white via-gray-50 to-gray-100 py-12 px-6">
176176
<div className="max-w-6xl mx-auto">
177177
<div className="grid gap-8 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3">
178178
{courses.map((course) => {
179179
const extra = extCourses.get(course.id)
180180

181181
return (
182-
<div
182+
<article
183183
key={course.id}
184184
className="bg-white rounded-2xl shadow-md hover:shadow-xl overflow-hidden transform transition-all duration-300 hover:-translate-y-2 border border-gray-200"
185185
>
186186
<a href={`/${course.idioma}${course.prefijoRuta}`}>
187-
<div className="img-course">
187+
<figure className="img-course">
188188
{course.imagen && course.imagen.startsWith('/') && (
189189
<Image
190190
className="w-full h-[17rem] pt-2 object-cover"
@@ -194,16 +194,16 @@ export default function Page({ params }: PageProps) {
194194
height={272}
195195
/>
196196
)}
197-
</div>
198-
<div className="p-5">
197+
</figure>
198+
<header className="p-5">
199199
<h3 className="text-lg font-semibold text-gray-800 mb-2">
200200
{course.titulo}
201201
</h3>
202202
<p className="text-sm text-gray-600 line-clamp-3">
203203
{course.subtitulo}
204204
</p>
205-
</div>
206-
<div className="flex justify-between items-center p-4">
205+
</header>
206+
<footer className="flex justify-between items-center p-4">
207207
<div>
208208
{extra && extra.amountPerGuide > 0 && (
209209
<div className="p-2">
@@ -247,7 +247,7 @@ export default function Page({ params }: PageProps) {
247247
lang={lang}
248248
/>
249249
)}
250-
</div>
250+
</footer>
251251
</a>
252252
{extra && extra.vaultCreated && (
253253
<div className="p-4 bg-green-100 flex items-center gap-3 justify-between">
@@ -265,7 +265,7 @@ export default function Page({ params }: PageProps) {
265265
)}
266266
</div>
267267
)}
268-
</div>
268+
</article>
269269
)
270270
})}
271271
</div>
@@ -294,7 +294,7 @@ export default function Page({ params }: PageProps) {
294294
</Toast.Close>
295295
</Toast.Root>
296296
<Toast.Viewport className="fixed bottom-4 right-4 flex flex-col gap-2 w-96 max-w-[100vw] outline-none z-[60]" />
297-
</div>
297+
</section>
298298
</Toast.Provider>
299299
)
300300
}

0 commit comments

Comments
 (0)