Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions .Jules/palette.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,7 @@
## 2026-04-11 - Prevent unreadable hardcoded text sizing
**Learning:** Hardcoding `android:textSize="12sp"` directly on Android TextView elements creates an accessibility barrier for users with poor vision and ignores system-level font scaling preferences, particularly for dynamic data fields like bitrate readouts.
**Action:** Remove overly restrictive `android:textSize` attributes from informational UI elements, allowing them to inherit accessible default text sizes from the application theme.

## 2025-10-21 - Accessible Tooltips for Destructive Actions
**Learning:** Action buttons like "STOP" with brief labels may not convey their full impact (e.g., stopping the stream AND exiting the server) to all users, particularly those relying on screen readers or keyboard navigation.
Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This palette entry describes the STOP action as “stopping the stream AND exiting the server”, but the in-app confirmation text says it will “close the application.” Consider updating the wording here to match the actual behavior to avoid documenting an incorrect outcome.

Suggested change
**Learning:** Action buttons like "STOP" with brief labels may not convey their full impact (e.g., stopping the stream AND exiting the server) to all users, particularly those relying on screen readers or keyboard navigation.
**Learning:** Action buttons like "STOP" with brief labels may not convey their full impact (e.g., stopping the stream and closing the application) to all users, particularly those relying on screen readers or keyboard navigation.

Copilot uses AI. Check for mistakes.
**Action:** Enhance brief or destructive action buttons by providing both `android:contentDescription` and `android:tooltipText` with explicit descriptions of the outcome, ensuring clarity for assistive technologies and mouse/keyboard hover states.
2 changes: 2 additions & 0 deletions app/src/main/res/layout/fragment_camera.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@
android:layout_height="wrap_content"
android:layout_gravity="end|fill_vertical"
android:includeFontPadding="false"
android:contentDescription="@string/stop_button_desc"
android:tooltipText="@string/stop_button_desc"
android:text="@string/stop_button" />
</LinearLayout>

Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<!-- Camera Fragment Strings -->
<string name="app_title">RemoteCam</string>
<string name="stop_button">STOP</string>
<string name="stop_button_desc">Stop camera server</string>
Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stop_button_desc is used for the STOP button’s accessibility label/tooltip, but its text (“Stop camera server”) doesn’t reflect the actual user-visible consequence described in stop_confirmation_message (stops the stream and closes the application). This can mislead screen reader/tooltip users; consider aligning this string with the confirmation message (or reusing a shared string) so the tooltip/description matches the real action.

Suggested change
<string name="stop_button_desc">Stop camera server</string>
<string name="stop_button_desc">Stop camera stream and close application</string>

Copilot uses AI. Check for mistakes.
<string name="preview_label">Preview</string>
<string name="stream_label">Stream</string>
<string name="rtsp_label">RTSP</string>
Expand Down