Skip to content

Commit d3b742a

Browse files
MatteoGabrieleautofix-ci[bot]danielroe
authored
fix(a11y): add missing h1 in the search page (#660)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Daniel Roe <daniel@roe.dev>
1 parent 8b6d617 commit d3b742a

36 files changed

+626
-384
lines changed

app/pages/search.vue

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -588,10 +588,13 @@ defineOgImageComponent('Default', {
588588
</script>
589589

590590
<template>
591-
<main class="flex-1" :class="{ 'overflow-x-hidden': viewMode !== 'table' }">
592-
<!-- Results area with container padding -->
593-
<div class="container-sm py-6">
594-
<section v-if="query" :aria-label="$t('search.results')">
591+
<main class="flex-1 py-8" :class="{ 'overflow-x-hidden': viewMode !== 'table' }">
592+
<div class="container-sm">
593+
<h1 class="font-mono text-2xl sm:text-3xl font-medium mb-4">
594+
{{ $t('search.title') }}
595+
</h1>
596+
597+
<section v-if="query">
595598
<!-- Initial loading (only after user interaction, not during view transition) -->
596599
<LoadingSpinner v-if="showSearching" :text="$t('search.searching')" />
597600

i18n/locales/ar.json

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
"found_packages": "تم العثور على {count} حزمة | تم العثور على حزمة واحدة | تم العثور على حزمتين | تم العثور على {count} حزم | تم العثور على {count} حزمة | تم العثور على {count} حزمة",
2525
"updating": "(جارٍ التحديث...)",
2626
"no_results": "لم يتم العثور على حزم لـ \"{query}\"",
27-
"results": "نتائج البحث",
2827
"not_taken": "الاسم {name} غير مأخوذ",
2928
"claim_prompt": "احجز اسم هذه الحزمة على npm",
3029
"claim_button": "احجز \"{name}\"",
@@ -116,14 +115,19 @@
116115
"version": "تم إهمال هذا الإصدار.",
117116
"no_reason": "لم يتم تقديم سبب"
118117
},
118+
"replacement": {},
119119
"stats": {
120120
"license": "الترخيص",
121121
"deps": "الاعتماديات",
122122
"install_size": "حجم التثبيت",
123123
"vulns": "الثغرات",
124124
"updated": "آخر تحديث",
125125
"view_dependency_graph": "عرض مخطط الاعتماديات",
126-
"inspect_dependency_tree": "فحص شجرة الاعتماديات"
126+
"inspect_dependency_tree": "فحص شجرة الاعتماديات",
127+
"size_tooltip": {}
128+
},
129+
"skills": {
130+
"file_counts": {}
127131
},
128132
"links": {
129133
"repo": "المستودع",
@@ -277,6 +281,7 @@
277281
"low": "منخفضة"
278282
}
279283
},
284+
"deprecated": {},
280285
"access": {
281286
"title": "وصول الفريق",
282287
"refresh": "تحديث وصول الفريق",
@@ -706,6 +711,10 @@
706711
}
707712
}
708713
},
714+
"account_menu": {},
715+
"auth": {
716+
"modal": {}
717+
},
709718
"header": {
710719
"home": "الصفحة الرئيسية لـ npmx",
711720
"github": "GitHub",
@@ -725,5 +734,12 @@
725734
"empty": "لا توجد مؤسسات",
726735
"view_all": "عرض الكل"
727736
}
737+
},
738+
"compare": {
739+
"packages": {},
740+
"selector": {},
741+
"facets": {
742+
"categories": {}
743+
}
728744
}
729745
}

i18n/locales/az.json

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
"found_packages": "Paket tapılmadı | 1 paket tapıldı | {count} paket tapıldı",
2525
"updating": "(yenilənir...)",
2626
"no_results": "\"{query}\" üçün paket tapılmadı",
27-
"results": "Axtarış nəticələri",
2827
"not_taken": "{name} tutulmayıb",
2928
"claim_prompt": "Bu paket adını npm-də tutun",
3029
"claim_button": "\"{name}\" adını tut",
@@ -138,6 +137,9 @@
138137
"total": "{size} ümumi açılmış həcm (linux-x64 üçün bütün {count} asılılıq daxil olmaqla)"
139138
}
140139
},
140+
"skills": {
141+
"file_counts": {}
142+
},
141143
"links": {
142144
"repo": "repo",
143145
"homepage": "ana səhifə",
@@ -725,6 +727,10 @@
725727
}
726728
}
727729
},
730+
"account_menu": {},
731+
"auth": {
732+
"modal": {}
733+
},
728734
"header": {
729735
"home": "npmx ana səhifə",
730736
"github": "GitHub",
@@ -744,5 +750,12 @@
744750
"empty": "Təşkilat tapılmadı",
745751
"view_all": "Hamısını göstər"
746752
}
753+
},
754+
"compare": {
755+
"packages": {},
756+
"selector": {},
757+
"facets": {
758+
"categories": {}
759+
}
747760
}
748761
}

i18n/locales/cs-CZ.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
"found_packages": "Nalezen {count} balíček | Nalezeny {count} balíčky | Nalezeno {count} balíčků",
2828
"updating": "(aktualizace...)",
2929
"no_results": "Žádné výsledky pro \"{query}\"",
30-
"results": "Výsledky hledání",
3130
"not_taken": "{name} není rezervováno",
3231
"claim_prompt": "Nárokovat toto jméno balíčku na npm",
3332
"claim_button": "Nárokovat \"{name}\"",

i18n/locales/de-DE.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
"found_packages": "Keine Pakete gefunden | 1 Paket gefunden | {count} Pakete gefunden",
2828
"updating": "(wird aktualisiert...)",
2929
"no_results": "Keine Pakete gefunden für \"{query}\"",
30-
"results": "Suchergebnisse",
3130
"not_taken": "{name} ist noch frei",
3231
"claim_prompt": "Diesen Paketnamen auf npm beanspruchen",
3332
"claim_button": "\"{name}\" beanspruchen",

i18n/locales/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"found_packages": "No packages found | Found 1 package | Found {count} packages",
2828
"updating": "(updating...)",
2929
"no_results": "No packages found for \"{query}\"",
30-
"results": "Search results",
30+
"title": "search",
3131
"not_taken": "{name} is not taken",
3232
"claim_prompt": "Claim this package name on npm",
3333
"claim_button": "Claim \"{name}\"",

i18n/locales/es.json

Lines changed: 55 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
"found_packages": "No se encontraron paquetes | Se encontró 1 paquete | Se encontraron {count} paquetes",
2525
"updating": "(actualizando...)",
2626
"no_results": "No se encontraron paquetes para \"{query}\"",
27-
"results": "Resultados de la búsqueda",
2827
"not_taken": "{name} no está ocupado",
2928
"claim_prompt": "Reclamar este nombre de paquete en npm",
3029
"claim_button": "Reclamar \"{name}\"",
@@ -116,6 +115,16 @@
116115
"version": "Esta versión ha sido obsoleta.",
117116
"no_reason": "Sin razón proporcionada"
118117
},
118+
"replacement": {
119+
"title": "Es posible que no necesite esta dependencia.",
120+
"native": "Esto se puede reemplazar con {replacement}, disponible desde Node {nodeVersion}.",
121+
"simple": "La {community} ha marcado este paquete como redundante, con el siguiente consejo: {replacement}.",
122+
"documented": "La {community} ha señalado que este paquete tiene alternativas con mejor rendimiento.",
123+
"none": "Este paquete se ha marcado como ya no necesario y es probable que su funcionalidad esté disponible de forma nativa en todos los motores.",
124+
"learn_more": "Más información",
125+
"mdn": "MDN",
126+
"community": "comunidad"
127+
},
119128
"stats": {
120129
"license": "Licencia",
121130
"deps": "Dependencias",
@@ -129,6 +138,9 @@
129138
"total": "{size} tamaño total desempaquetado (incluidas las {count} dependencias para Linux-x64)"
130139
}
131140
},
141+
"skills": {
142+
"file_counts": {}
143+
},
132144
"links": {
133145
"repo": "repo",
134146
"homepage": "página de inicio",
@@ -251,10 +263,10 @@
251263
"esm": "Módulos ES soportados",
252264
"cjs": "CommonJS soportado",
253265
"no_esm": "Sin soporte de Módulos ES",
266+
"types_label": "Tipos",
254267
"types_included": "Tipos incluidos",
255268
"types_available": "Tipos disponibles vía {package}",
256-
"no_types": "Sin tipos TypeScript",
257-
"types_label": "Tipos"
269+
"no_types": "Sin tipos TypeScript"
258270
},
259271
"license": {
260272
"view_spdx": "Ver texto de licencia en SPDX"
@@ -296,6 +308,8 @@
296308
"refresh": "Actualizar acceso de equipo",
297309
"list_label": "Lista de acceso de equipo",
298310
"owner": "propietario",
311+
"rw": "rw",
312+
"ro": "ro",
299313
"revoke_access": "Revocar acceso de {name}",
300314
"no_access": "No hay acceso de equipo configurado",
301315
"select_team_label": "Seleccionar equipo",
@@ -308,9 +322,7 @@
308322
},
309323
"grant_button": "conceder",
310324
"cancel_grant": "Cancelar concesión de acceso",
311-
"grant_access": "+ Conceder acceso de equipo",
312-
"ro": "ro",
313-
"rw": "rw"
325+
"grant_access": "+ Conceder acceso de equipo"
314326
},
315327
"list": {
316328
"filter_label": "Filtrar paquetes",
@@ -325,28 +337,18 @@
325337
"size": "Tamaño",
326338
"deps": "Deps",
327339
"updated": "Actualizado",
340+
"get_started": "Empezar",
328341
"readme": "Léeme",
329342
"maintainers": "Mantenedores",
330343
"keywords": "Palabras clave",
331344
"versions": "Versiones",
332-
"dependencies": "Dependencias",
333-
"get_started": "Empezar"
345+
"dependencies": "Dependencias"
334346
},
335347
"sort": {
336348
"downloads": "Más descargados",
337349
"updated": "Recientemente actualizados",
338350
"name_asc": "Nombre (A-Z)",
339351
"name_desc": "Nombre (Z-A)"
340-
},
341-
"replacement": {
342-
"documented": "La {community} ha señalado que este paquete tiene alternativas con mejor rendimiento.",
343-
"community": "comunidad",
344-
"mdn": "MDN",
345-
"none": "Este paquete se ha marcado como ya no necesario y es probable que su funcionalidad esté disponible de forma nativa en todos los motores.",
346-
"learn_more": "Más información",
347-
"native": "Esto se puede reemplazar con {replacement}, disponible desde Node {nodeVersion}.",
348-
"simple": "La {community} ha marcado este paquete como redundante, con el siguiente consejo: {replacement}.",
349-
"title": "Es posible que no necesite esta dependencia."
350352
}
351353
},
352354
"connector": {
@@ -363,6 +365,7 @@
363365
"modal": {
364366
"title": "Conector Local",
365367
"connected": "Conectado",
368+
"connected_as_user": "Conectado como ~{user}",
366369
"connected_hint": "Ahora puedes gestionar paquetes y organizaciones desde la interfaz web.",
367370
"disconnect": "Desconectar",
368371
"run_hint": "Ejecuta el conector en tu máquina para habilitar funciones de administración.",
@@ -376,8 +379,7 @@
376379
"warning": "ADVERTENCIA",
377380
"warning_text": "Esto permite a npmx acceder a tu CLI de npm. Conéctate solo a sitios en los que confíes.",
378381
"connect": "Conectar",
379-
"connecting": "Conectando...",
380-
"connected_as_user": "Conectado como ~{user}"
382+
"connecting": "Conectando..."
381383
}
382384
},
383385
"operations": {
@@ -732,6 +734,34 @@
732734
}
733735
}
734736
},
737+
"account_menu": {
738+
"connect": "conectar",
739+
"account": "Cuenta",
740+
"npm_cli": "CLI de npm",
741+
"atmosphere": "Atmosphere",
742+
"npm_cli_desc": "Gestionar paquetes y organizaciones",
743+
"atmosphere_desc": "Características sociales e identidad",
744+
"connect_npm_cli": "Conectar a la CLI de npm",
745+
"connect_atmosphere": "Conectar a la Atmosphere",
746+
"connecting": "Conectando...",
747+
"ops": "{count} op | {count} ops",
748+
"disconnect": "Desconectar"
749+
},
750+
"auth": {
751+
"modal": {
752+
"title": "Atmosphere",
753+
"connected_as": "Conectado como {'@'}{handle}",
754+
"disconnect": "Desconectar",
755+
"connect_prompt": "Conectar con tu cuenta de la Atmosphere",
756+
"handle_label": "Nombre de usuario",
757+
"handle_placeholder": "alice.npmx.social",
758+
"connect": "Conectar",
759+
"create_account": "Crear una nueva cuenta",
760+
"connect_bluesky": "Conectar con Bluesky",
761+
"what_is_atmosphere": "¿Qué es una cuenta de la Atmosphere?",
762+
"atmosphere_explanation": "{npmx} utiliza {atproto} para proporcionar muchas de sus funciones sociales, lo que permite a los usuarios ser propietarios de sus datos y utilizar una cuenta para todas las aplicaciones compatibles. Una vez que crea una cuenta, puede usar otras aplicaciones como {bluesky} y {tangled} con la misma cuenta."
763+
}
764+
},
735765
"header": {
736766
"home": "inicio npmx",
737767
"github": "GitHub",
@@ -752,32 +782,11 @@
752782
"view_all": "Ver todo"
753783
}
754784
},
755-
"account_menu": {
756-
"account": "Cuenta",
757-
"atmosphere": "Atmosphere",
758-
"atmosphere_desc": "Características sociales e identidad",
759-
"connect": "conectar",
760-
"connect_atmosphere": "Conectar a la Atmosphere",
761-
"connect_npm_cli": "Conectar a la CLI de npm",
762-
"connecting": "Conectando...",
763-
"disconnect": "Desconectar",
764-
"npm_cli": "CLI de npm",
765-
"npm_cli_desc": "Gestionar paquetes y organizaciones",
766-
"ops": "{count} op | {count} ops"
767-
},
768-
"auth": {
769-
"modal": {
770-
"atmosphere_explanation": "{npmx} utiliza {atproto} para proporcionar muchas de sus funciones sociales, lo que permite a los usuarios ser propietarios de sus datos y utilizar una cuenta para todas las aplicaciones compatibles. Una vez que crea una cuenta, puede usar otras aplicaciones como {bluesky} y {tangled} con la misma cuenta.",
771-
"connect": "Conectar",
772-
"connect_prompt": "Conectar con tu cuenta de la Atmosphere",
773-
"connected_as": "Conectado como {'@'}{handle}",
774-
"create_account": "Crear una nueva cuenta",
775-
"disconnect": "Desconectar",
776-
"handle_label": "Nombre de usuario",
777-
"handle_placeholder": "alice.npmx.social",
778-
"title": "Atmosphere",
779-
"what_is_atmosphere": "¿Qué es una cuenta de la Atmosphere?",
780-
"connect_bluesky": "Conectar con Bluesky"
785+
"compare": {
786+
"packages": {},
787+
"selector": {},
788+
"facets": {
789+
"categories": {}
781790
}
782791
}
783792
}

0 commit comments

Comments
 (0)