Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0ca7ec6
chore(plans): add site-check-153 plan
heyoub Aug 24, 2026
d137226
docs(specs): reorder header clusters, repoint dead GitBook links
heyoub Aug 24, 2026
30cee80
chore(plans): add aria-correctness plan
heyoub Aug 24, 2026
0fac650
fix(web): move Volunteer CTA rightmost, pad the mobile sheet
heyoub Aug 24, 2026
4b7aa7e
fix(web): repoint dead GitBook links and the stale footer repo URL
heyoub Aug 24, 2026
4c2e392
fix(web): let the mobile sheet nav scroll when it overflows
heyoub Aug 24, 2026
291adf0
fix(web): rebuild SearchBox as an APG combobox
heyoub Aug 24, 2026
92f7081
fix(web): rebuild TagPicker as an APG combobox
heyoub Aug 24, 2026
2fcb1e2
fix(web): repair invalid and redundant ARIA across components
heyoub Aug 24, 2026
3790e75
fix(web): associate form error text with the fields it describes
heyoub Aug 24, 2026
1016350
chore(plans): record the "Retry" banner spec-code contradiction
heyoub Aug 24, 2026
2d7b986
chore(plans): record site-check-153 validation results
heyoub Aug 24, 2026
848bbf0
chore(plans): record exact api test counts in site-check-153 notes
heyoub Aug 24, 2026
70046c7
fix(web): keep StageProgressBar to a single tooltip tab stop
heyoub Aug 24, 2026
b91aaef
chore(plans): record browser validation for site-check-153
heyoub Aug 24, 2026
8c94dc8
chore(plans): mark site-check-153 done (PR #154)
heyoub Aug 24, 2026
54b24ad
chore(plans): mark aria-correctness done (PR #155)
heyoub Aug 24, 2026
18a5a99
Merge branch 'fix/aria-correctness' into fix/a11y-mechanical
heyoub Aug 24, 2026
6ea5727
chore(plans): add a11y-mechanical plan
heyoub Aug 24, 2026
8ad00c7
fix(web): render the breadcrumb trails app-shell.md prescribes
heyoub Aug 24, 2026
8738196
fix(web): repair heading levels and landmark structure
heyoub Aug 24, 2026
1b75458
fix(web): give the toolbar semantics and announce silent state changes
heyoub Aug 24, 2026
dff0f61
fix(web): name per-row actions, mark up dates, cue new tabs
heyoub Aug 24, 2026
ced0cd8
test(web): cover breadcrumbs, per-row names and time elements
heyoub Aug 24, 2026
e788133
chore(plans): record a11y-mechanical validation results
heyoub Aug 24, 2026
ce4ea22
chore(plans): mark a11y-mechanical done (PR #157)
heyoub Aug 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions apps/web/src/components/ActivityCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,13 @@ function UpdateCard({ update }: { update: ProjectUpdateResponse }) {
Update #{update.number}
</Link>
</div>
<span title={formatAbsoluteDate(update.createdAt)} className="text-xs text-muted-foreground">
<time
dateTime={update.createdAt}
title={formatAbsoluteDate(update.createdAt)}
className="text-xs text-muted-foreground"
>
{formatRelativeTime(update.createdAt)}
</span>
</time>
</div>

{update.author && (
Expand Down Expand Up @@ -69,9 +73,9 @@ function BuzzCard({ buzz }: { buzz: ProjectBuzzResponse }) {
{buzz.project.title}
</Link>
<span> · Buzz · </span>
<span title={formatAbsoluteDate(buzz.publishedAt)}>
<time dateTime={buzz.publishedAt} title={formatAbsoluteDate(buzz.publishedAt)}>
{formatAbsoluteDate(buzz.publishedAt, { month: 'short', day: 'numeric', year: 'numeric' })}
</span>
</time>
</span>
</div>

Expand All @@ -89,6 +93,7 @@ function BuzzCard({ buzz }: { buzz: ProjectBuzzResponse }) {
<h3 className="text-base font-semibold mb-0.5">
<a href={buzz.url} target="_blank" rel="noopener noreferrer" className="hover:text-primary">
{buzz.headline}
<span className="sr-only"> (opens in new tab)</span>
</a>
</h3>
<p className="text-xs text-muted-foreground mb-2">{hostname}</p>
Expand Down
5 changes: 3 additions & 2 deletions apps/web/src/components/AppFooter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ export function AppFooter() {
<a
key={href}
href={href}
aria-label={label}
aria-label={`${label} (opens in new tab)`}
target="_blank"
rel="noopener noreferrer"
className="text-muted-foreground hover:text-foreground transition-colors"
Expand All @@ -200,12 +200,13 @@ export function AppFooter() {
Copyright &copy; Code for Philly {FOUNDED_YEAR}&ndash;{CURRENT_YEAR}
</p>
<a
href="https://github.com/CodeForPhilly/codeforphilly-rewrite"
href="https://github.com/CodeForPhilly/codeforphilly-ng"
target="_blank"
rel="noopener noreferrer"
className="hover:text-foreground transition-colors"
>
Open source &mdash; view this site on GitHub
<span className="sr-only"> (opens in new tab)</span>
</a>
</div>
</div>
Expand Down
Loading