diff --git a/src/components/CodeBlock.tsx b/src/components/CodeBlock.tsx index c32ff99..9b7aca4 100644 --- a/src/components/CodeBlock.tsx +++ b/src/components/CodeBlock.tsx @@ -26,6 +26,7 @@ export function CodeBlock(props: HTMLAttributes) { onClick={handleCopy} className="absolute top-2 right-2 p-1.5 rounded-lg bg-zinc-700/60 hover:bg-zinc-600/80 border border-white/10 text-zinc-400 hover:text-zinc-200 opacity-0 group-hover/code:opacity-100 transition-opacity duration-150" title="Copy code" + aria-label="Copy code to clipboard" type="button" > {copied diff --git a/src/components/ImageBlock.tsx b/src/components/ImageBlock.tsx index c238868..a2e6641 100644 --- a/src/components/ImageBlock.tsx +++ b/src/components/ImageBlock.tsx @@ -18,11 +18,15 @@ function Lightbox({ src, alt, onClose }: ImageBlockProps & { onClose: () => void return (
{lightbox && setLightbox(false)} />} diff --git a/src/components/KeyboardShortcuts.tsx b/src/components/KeyboardShortcuts.tsx index 71fa834..606214d 100644 --- a/src/components/KeyboardShortcuts.tsx +++ b/src/components/KeyboardShortcuts.tsx @@ -50,7 +50,7 @@ export function KeyboardShortcuts({ open, onClose }: Props) { if (!open) return null; return ( -
+
{/* Backdrop */}
diff --git a/src/components/LanguageSelector.tsx b/src/components/LanguageSelector.tsx index 55a70ef..5271173 100644 --- a/src/components/LanguageSelector.tsx +++ b/src/components/LanguageSelector.tsx @@ -16,6 +16,7 @@ export function LanguageSelector() { onClick={cycle} className="flex items-center gap-1.5 rounded-2xl border border-white/8 bg-zinc-800/30 px-2.5 py-1.5 text-xs text-zinc-400 hover:text-zinc-200 hover:bg-white/5 transition-colors" title="Change language" + aria-label={`Language: ${localeLabels[current] || current}. Click to change.`} > {localeLabels[current] || current.toUpperCase()}