Accessibility Issue: ShareButtons Component Missing aria-label
Problem
The ShareButtons component in apps/web/components/ShareButtons.tsx uses only title attributes for social media share buttons, which is not sufficient for screen readers.
Affected Elements
- Native share button (line 83) - only has
title="Share"
- Twitter/X link (line 96) - only has
title="Share on X"
- Hacker News link (line 109) - only has
title="Share on Hacker News"
- LinkedIn link (line 122) - only has
title="Share on LinkedIn"
- Reddit link (line 135) - only has
title="Share on Reddit"
- Copy link button (line 129) - only has dynamic
title
Impact
Users relying on screen readers may not receive clear, consistent information about the purpose of these share buttons. The title attribute is not reliably announced by all screen readers.
Suggested Fix
Add aria-label attributes to all interactive elements:
// Example for native share button
<button
onClick={nativeShare}
className={buttonClass}
title="Share"
aria-label="Share this page"
>
// Example for Twitter link
<a
href={twitterUrl}
target="_blank"
rel="noopener noreferrer"
className={buttonClass}
title="Share on X"
aria-label="Share on X"
>
Related Issues
Accessibility Issue: ShareButtons Component Missing aria-label
Problem
The ShareButtons component in
apps/web/components/ShareButtons.tsxuses onlytitleattributes for social media share buttons, which is not sufficient for screen readers.Affected Elements
title="Share"title="Share on X"title="Share on Hacker News"title="Share on LinkedIn"title="Share on Reddit"titleImpact
Users relying on screen readers may not receive clear, consistent information about the purpose of these share buttons. The
titleattribute is not reliably announced by all screen readers.Suggested Fix
Add
aria-labelattributes to all interactive elements:Related Issues