Announce accessibility menu states
Use Serial announcements to identify the selected accessibility setting and verify its current state alongside the OLED.

UX Uma: I want you to compare the announced state with the visible state and name the settings that still lack an equivalent nonvisual description.
Predict the reading, then compare it with the measurement.
Wokwi ESP32
Third party ToolUse Serial announcements to identify the selected accessibility setting and verify its current state alongside the OLED.
Open the ESP32 editor, paste diagram.json, then paste sketch.ino.
Open Wokwi to paste in the files (new tab)Get the files
Use both prepared files. This is a paste-in setup; saving a project requires a Wokwi account.
sketch.ino
- Use the launch button above to open the ESP32 editor in Wokwi.
- Select the editor’s diagram.json tab and replace all its text with the supplied diagram.json.
- Select the sketch.ino tab, replace all its text with the supplied sketch.ino, then click Start Simulation.
Steps
Step 1
- Do
- Paste the diagram and sketch into Wokwi ESP32 and install Adafruit GFX Library and Adafruit SSD1306. Inspect the four labelled buttons.
- You will see
- UP, DOWN, SELECT, and BACK connect to GPIO 25, 26, 27, and 14. OLED SDA/SCL use GPIO 21/22; the buzzer uses GPIO 13.
- Why it matters
- Consistent controls and multiple feedback channels support the host’s principle of making important state easy to find.

Step 1 · Wokwi ESP32; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 2
- Do
- Start at 115200 baud and read the settings printed at startup.
- You will see
- A fresh run reports High Contrast: OFF, Large Text: OFF, Sound: ON, and Brightness: 100%. The OLED opens on the home screen.
- Why it matters
- Start with explicit state rather than inferring settings from a tone. Saved preferences can change these initial values.

Step 2 · Wokwi ESP32; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 3
- Do
- Tap SELECT, then DOWN once to Settings, then SELECT again. Release each button between taps.
- You will see
- The OLED opens ACCESSIBILITY with High Contrast selected. Serial prints the corresponding BTN messages.
- Why it matters
- The supplied extension announces navigation inside this menu; entering the menu itself does not yet announce its first item.

Step 3 · Wokwi ESP32; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 4
- Do
- Tap DOWN once, then UP once, watching Serial Monitor.
- You will see
- Selected: Large Text and Large Text is currently OFF appear, followed by Selected: High Contrast and High Contrast is currently OFF on a fresh run.
- Why it matters
- The extension conveys both a label and its current toggle state, so the information is available without relying only on the highlight.

Step 4 · Wokwi ESP32; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 5
- Do
- With High Contrast selected, tap SELECT; then tap DOWN and UP to revisit it.
- You will see
- Serial prints High Contrast: ON and Settings saved to NVS; revisiting prints High Contrast is currently ON. The OLED reverses foreground and background.
- Why it matters
- The action result and subsequent state announcement should agree. This is the same consistency needed between a dashboard control and its displayed status.

Step 5 · Wokwi ESP32; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 6
- Do
- Tap DOWN to Large Text, select it, then move away and back.
- You will see
- Large Text: ON appears when selected, and Large Text is currently ON appears when revisited. The accessibility list itself stays at its fixed small font.
- Why it matters
- A stored preference is not proof that every screen respects it. The source applies large text on home and main menu screens, leaving an accessibility gap in this list.

Step 6 · Wokwi ESP32; numbered callout added to a real capture. Enlarge screenshot (new tab) Step 7
- Do
- Continue DOWN to Sound and Brightness, comparing their announcements with the OLED values.
- You will see
- Serial announces Selected: Sound and Selected: Brightness but does not announce their values. The OLED still shows those values.
- Why it matters
- The supplied function only announces states for its first two toggles. Identify this limitation before claiming complete nonvisual navigation or adding more alerts.

Step 7 · Wokwi ESP32; numbered callout added to a real capture. Enlarge screenshot (new tab)
Chapter checks
These questions refer to the chapter’s examples. Use the return links to review their answers.
You're designing a dashboard for a factory floor monitoring system. The operator needs to see: (1) machine status (running/stopped/error), (2) production count, (3) temperature readings, and (4) 7-day production trends. Where should you place the machine status indicator?
Return to the chapter’s knowledge checkA smart building dashboard monitors HVAC systems. Temperature thresholds are set to: Normal (18-24 C), Warning (15-18 or 24-28 C), Critical (<15 or >28 C). During testing, operators complain about 'alert fatigue' - too many warnings. Analysis shows 85% of warnings occur briefly during HVAC startup. What's the BEST solution?
Return to the chapter’s knowledge check