-
-
Notifications
You must be signed in to change notification settings - Fork 357
Improve accessibility: add alt text, aria-labels, fix tap targets #593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,26 +1,28 @@ | ||
| import Image from 'next/image' | ||
|
|
||
| export function CardEffect({heading, content, logo}) { | ||
| export function CardEffect({ heading, content, logo }) { | ||
| return ( | ||
| <a className="group relative block h-[22rem] max-lg:w-72 max-xl:w-60 w-72 cursor-pointer"> | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This Proposed fix if it's a container- <a className="group relative block h-[22rem] max-lg:w-72 max-xl:w-60 w-72 cursor-pointer">
+ <div className="group relative block h-[22rem] max-lg:w-72 max-xl:w-60 w-72 cursor-pointer">And close tag: - </a>
+ </div>🤖 Prompt for AI Agents |
||
| {/* <span className="absolute inset-0 border-2 rounded-lg border-dashed border-black dark:border-zinc-300"></span> */} | ||
|
|
||
| {/* <div className="relative flex h-full transform items-end border-4 rounded-lg border-black dark:border-zinc-300 bg-transparent dark:bg-transparent transition-transform group-hover:-translate-x-2 group-hover:-translate-y-2"> */} | ||
| {/* <div className="relative shadow-xl flex h-full justify-center rounded-3xl border-2 border-gray-400 dark:border-gray-200 bg-white dark:bg-gray-800/40 md:p-8 p-8 px-16 lg:py-8 lg:px-0 xl:p-8 transition group-hover:-translate-x-2 group-hover:-translate-y-2 group-hover:shadow-[8px_8px_0_0_#9ca3af] dark:group-hover:shadow-[8px_8px_0_0_#e5e7eb]"> */} | ||
| <div className="relative shadow-xl flex h-full justify-center rounded-3xl border-2 border-gray-400 dark:border-gray-200 bg-white dark:bg-gray-800 md:p-8 p-8 px-16 lg:py-8 lg:px-0 xl:p-8"> | ||
|
|
||
| <div className="px-8 pb-4 self-center transition-opacity group-hover:absolute group-hover:opacity-0"> | ||
| <Image | ||
| src= {logo} | ||
| src={logo} | ||
| width={150} | ||
| unoptimized | ||
| className='mx-auto' | ||
| alt='Project Logo' | ||
| className="mx-auto" | ||
| alt={`${heading} project logo`} | ||
| /> | ||
| <h2 className="ml-0 leading-9 text-4xl text-center flex font-extrabold justify-center font-mono text-[#00843D] dark:text-yellow-400">{heading}</h2> | ||
| <h2 className="ml-0 leading-9 text-4xl text-center flex font-extrabold justify-center font-mono text-[#00843D] dark:text-yellow-400"> | ||
| {heading} | ||
| </h2> | ||
| </div> | ||
|
|
||
| <div className="absolute self-center pr-6 lg:scale-90 lg:pb-0 lg:pl-3 lg:pr-0 xl:pl-0 md:p-0 md:scale-95 opacity-0 transition-opacity group-hover:relative group-hover:opacity-100 dark:text-zinc-300"> | ||
| <p className="mt-4 font-mono sm:w-100 w-52">{content}</p> | ||
| </div> | ||
|
|
||
| </div> | ||
| </a> | ||
| ) | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -19,6 +19,7 @@ const projects = [ | |||||
| label: 'Agora', | ||||||
| }, | ||||||
| logo: AgoraLogo, | ||||||
| alt: 'Agora Blockchain Logo for GSoC project', | ||||||
| }, | ||||||
| { | ||||||
| name: 'Agora Vote Android', | ||||||
|
|
@@ -29,48 +30,55 @@ const projects = [ | |||||
| label: 'Agora-Android', | ||||||
| }, | ||||||
| logo: AgoraLogo, | ||||||
| alt: 'Agora Android Logo for GSoC project', | ||||||
| }, | ||||||
| { | ||||||
| name: 'Djed', | ||||||
| description: | ||||||
| 'Djed is a Formally Verified Crypto-Backed Algorithmic Stablecoin Protocol.', | ||||||
| link: { href: 'https://github.com/AOSSIE-Org/Djed-Solidity-WebDashboard', label: 'Djed' }, | ||||||
| logo: Djed, | ||||||
| alt: 'Djed Stablecoin Logo for GSoC project', | ||||||
| }, | ||||||
| { | ||||||
| name: 'Pictopy', | ||||||
| description: | ||||||
| 'PictoPy is a modern desktop app designed to transform the handling of digital photos. It facilitates efficient gallery management with a robust focus on privacy, offering smart tagging capabilities for photos based on objects, faces, or scenes.', | ||||||
| link: { href: 'https://github.com/AOSSIE-Org/PictoPy', label: 'PictoPy' }, | ||||||
| logo: PictoPy, | ||||||
| alt: 'Pictopy App Logo for GSoC project', | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Double space typo in alt text. "Pictopy App Logo** **for GSoC project" has an extra space. Proposed fix- alt: 'Pictopy App Logo for GSoC project',
+ alt: 'Pictopy App Logo for GSoC project',📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||
| }, | ||||||
| { | ||||||
| name: 'EduAid', | ||||||
| description: | ||||||
| 'An online tool that can generate short quizzes on input educational content can be of great use to teachers and students alike as it can help retain important information, frame questions and quickly revise large chunks of content.', | ||||||
| link: { href: 'https://github.com/AOSSIE-Org/EduAid', label: 'EduAid' }, | ||||||
| logo: DefaultLogo, | ||||||
| alt: 'EduAid Logo for GSoC project for GSoC project', | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Duplicated phrase in alt text: "for GSoC project for GSoC project". This is a copy-paste error — "for GSoC project" appears twice. Proposed fix- alt: 'EduAid Logo for GSoC project for GSoC project',
+ alt: 'EduAid Logo for GSoC project',📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||
| }, | ||||||
| { | ||||||
| name: 'OpenChat', | ||||||
| description: | ||||||
| 'a decentralised platform for secure and private messaging and file sharing built on top of blockchain', | ||||||
| link: { href: '#', label: 'OpenChat' }, | ||||||
| logo: DefaultLogo, | ||||||
| alt: 'OpenChat Logo for GSoC project', | ||||||
| }, | ||||||
| { | ||||||
| name: 'Resonate', | ||||||
| description: | ||||||
| 'With the rising popularity of social voice platforms such as Clubhouse, it is high time for an Open Source alternative. A platform like this would not only enhance credibility within the open-source community but also attract more users and foster growth. ', | ||||||
| link: { href: 'https://github.com/AOSSIE-Org/Resonate', label: 'Resonate' }, | ||||||
| logo: ResonateLogo, | ||||||
| alt: 'Resonate Logo for GSoC project', | ||||||
| }, | ||||||
| { | ||||||
| name: 'Monumento', | ||||||
| description: | ||||||
| 'Monumento is an AR-integrated social app that transforms how you connect with the world’s most iconic landmarks. Through Monumento, you can check in to popular monuments, explore famous sites, and discover new people, all within a social platform.', | ||||||
| link: { href: 'https://github.com/AOSSIE-Org/Monumento', label: 'Monumento' }, | ||||||
| logo: MonumentoLogo, | ||||||
| alt: 'Monumento App Logo for GSoC project', | ||||||
| }, | ||||||
| { | ||||||
| name: 'Social Street Smart', | ||||||
|
|
@@ -81,8 +89,9 @@ const projects = [ | |||||
| label: 'Social-Street-Smart', | ||||||
| }, | ||||||
| logo: SSSLogo, | ||||||
| alt: 'Social Street Smart Logo for GSoC project', | ||||||
| }, | ||||||
| ] | ||||||
|
|
||||||
|
|
||||||
| export default projects | ||||||
| export default projects | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logoAltprop from callers is silently dropped.According to the AI summary,
src/pages/index.jsxpasses alogoAltprop toCardEffect, but this component doesn't destructure or use it. Either wire it through to thealtattribute on line 15, or remove the prop from the call site to avoid confusion.Proposed fix — accept and use logoAlt
Then on line 15:
🤖 Prompt for AI Agents