diff --git a/canvas/src/components/mobile/MobileCanvas.tsx b/canvas/src/components/mobile/MobileCanvas.tsx
index acdaa1689..708bfc8c3 100644
--- a/canvas/src/components/mobile/MobileCanvas.tsx
+++ b/canvas/src/components/mobile/MobileCanvas.tsx
@@ -205,6 +205,7 @@ export function MobileCanvas({
type="button"
onClick={resetView}
aria-label="Reset zoom"
+ className="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1"
style={{
position: "absolute",
right: 14,
@@ -272,6 +273,8 @@ export function MobileCanvas({
key={l.agent.id}
type="button"
onClick={() => onOpen(l.agent.id)}
+ aria-label={`Open ${l.agent.name}`}
+ className="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1"
style={{
position: "absolute",
left: `${l.x}%`,
@@ -376,6 +379,7 @@ export function MobileCanvas({
type="button"
onClick={onSpawn}
aria-label="Spawn new agent"
+ className="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2"
style={{
position: "absolute",
right: 24,
@@ -394,7 +398,7 @@ export function MobileCanvas({
boxShadow: "0 8px 24px rgba(40,30,20,0.25)",
}}
>
- {Icons.plus({ size: 22 })}
+ {Icons.plus({ size: 22 })}
);
diff --git a/canvas/src/components/mobile/MobileChat.tsx b/canvas/src/components/mobile/MobileChat.tsx
index 375bd37a8..24ec0e594 100644
--- a/canvas/src/components/mobile/MobileChat.tsx
+++ b/canvas/src/components/mobile/MobileChat.tsx
@@ -339,6 +339,7 @@ export function MobileChat({
type="button"
onClick={onBack}
aria-label="Back"
+ className="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1"
style={{
width: 36,
height: 36,
@@ -352,7 +353,7 @@ export function MobileChat({
justifyContent: "center",
}}
>
- {Icons.back({ size: 18 })}
+ {Icons.back({ size: 18 })}
@@ -385,6 +386,7 @@ export function MobileChat({
{/* Sub-tabs */}
-
- {(
- [
- { id: "my", label: "My Chat" },
- { id: "a2a", label: "Agent Comms" },
- ] as const
- ).map((t) => {
- const on = tab === t.id;
- return (
-
- );
- })}
-
+ {(
+ [
+ { id: "my", label: "My Chat" },
+ { id: "a2a", label: "Agent Comms" },
+ ] as const
+ ).map((t) => {
+ const on = tab === t.id;
+ return (
+
+ );
+ })}
{/* Messages */}
@@ -478,6 +507,7 @@ export function MobileChat({
onClick={() => {
loadInitial();
}}
+ className="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1"
style={{
padding: "6px 14px",
borderRadius: 14,
@@ -619,6 +649,7 @@ export function MobileChat({
type="button"
onClick={() => removePendingFile(i)}
aria-label={`Remove ${f.name}`}
+ className="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1"
style={{
border: "none",
background: "transparent",
@@ -659,6 +690,7 @@ export function MobileChat({
onClick={() => fileInputRef.current?.click()}
disabled={!reachable || sending || uploading}
aria-label="Attach"
+ className="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1"
style={{
width: 32,
height: 32,
@@ -674,7 +706,7 @@ export function MobileChat({
opacity: !reachable || sending || uploading ? 0.4 : 1,
}}
>
- {Icons.attach({ size: 16 })}
+ {Icons.attach({ size: 16 })}