A New Adventure of the Three Best Friends

CHAPTER 1: THE SILENT DISCO

The city was celebrating. The “Inclusive Update” had turned the metropolis into a beacon of usability. To mark the occasion, the Mayor was hosting a massive “Silent Disco” at the harbor.

It was a stinking hot arvo, and the pier was chockers with people dancing to music streamed directly to their headsets. The Three Best Friends—Liam, Dax, and Dev—were leaning against a railing, nursing cold drinks from their esky.

“She’ll be right,” Dax sighed contentedly, watching the sunset. “We fixed the code. We fixed the contrast. We earned this.”

But Liam wasn’t dancing. He was staring at a group of students near the DJ booth. They were standing still, looking confused, while everyone around them jumped in unison to a bass drop.

“Something’s wrong,” Liam said. “Look at Dhruv. He’s deaf. He’s supposed to be getting the beat through the haptic vest connected to the app”.

Dev pulled up the event feed on his tablet. “The music is playing, but… wait. The metadata is empty.”

The Twist in the Track

The music app displayed a pulsing equalizer, but for audio-only content, there was no transcript. For the video feed on the big screen, there were no captions.

“It’s the Phantom,” Dev whispered. “A new script. It strips multimedia of its text alternatives. It believes in ‘Pure Sound’.”

“That’s pulling a swifty on the deaf community,” Liam growled. “Dhruv can’t hear the ‘door creak’ or the ‘Athan leaves the room’ equivalent in the song. He’s missing the important sounds that are crucial for understanding the content”.

Liam immediately hacked into the DJ’s playlist. He didn’t just turn up the volume; he injected a live captioning stream. He typed furiously, describing the auditory landscape: [Bass Drop – Heavy Vibration], [Synthesizer Melody – Upbeat].

On the dance floor, Dhruv’s vest lit up. He saw the text on the screen, felt the beat match the description, and smiled. He joined the rhythm.

“Good on ya, Liam,” Dax said. “But the signal is coming from the Opera House. The Phantom is hiding in the white space.”

CHAPTER 2: THE INVISIBLE FORM

They raced to the Opera House, but the entrance was blocked by a digital kiosk. It was sleek, modern, and terrifyingly minimalist.

“It’s the ‘Clean Design’ movement gone wrong,” Dax muttered. “Look at this login screen. It’s white text on a light gray background.”

“Insufficient contrast,” Liam noted. “Some people cannot read text if there is not sufficient contrast between the text and background”.

“It’s worse,” Dev said, touching the screen. “Where are the labels?”

The form had three input fields, but they were blank. No text outside, no text inside. Just three empty boxes.

“They’re using placeholders that vanish when you type,” Dev realized. “But they forgot the golden rule: Associate a label with every form control”.

The Trick of the Label

“If we can’t see the labels, we use the code,” Dev said. “I’m looking for the ‘for’ attribute on the <label> element linked to the ‘id’ of the input”.

Dev inspected the source. The Phantom had hidden the labels using display: none, removing them from the accessibility tree.

“Users like Ian, who needs clear instructions, would be stuffed here,” Dev said. “He wouldn’t know if the first box is for his Username or his Email.”

Dev injected a script to force the labels to appear.

  • Box 1: User ID
  • Box 2: Password (at least six characters)
  • Box 3: Favorite Color

“Favorite color?” Dax asked. “That’s a security question?”

“It’s a trap,” Liam warned. “Don’t just type ‘Blue’. Look at the instructions.”

There were no instructions. So Liam wrote them. He added a helper text: Input requirements: Must be a primary color.

Dev typed “Red”. The doors hissed open.

CHAPTER 3: THE COLORBLIND MAZE

Inside, the hallway was a kaleidoscope of neon panels. The floor was glass, and beneath it, lights pulsed in specific patterns.

“Welcome to the Navigation Layer,” a synthesized voice purred. “Follow the green path to survive. The red path leads to deletion.”

Dax froze. “I can’t tell them apart. The luminance is identical.”

The Phantom was using color alone to convey information. To Dax, and to users like Lexie with color blindness, the floor was just one shade of gray.

“This is hard yakka,” Dax sweated. “If I step on red, we fall.”

The Pattern Twist

“We need additional identification that does not rely on color perception,” Liam shouted. “Look closely at the tiles.”

Dev zoomed in with his camera. “The green tiles… they have a faint texture. Strips. The red ones are dots.”

“It’s a fallback!” Dax realized. “Use of color is the primary method, but the texture is the fail-safe.”

Dax closed his eyes. “I’m not going to look at the color. I’m going to look at the pattern. Strips are safe. Dots are danger.”

He hopped across the glass—Strip, Strip, Strip. He landed safely on the other side.

“You little ripper!” Liam cheered.

CHAPTER 4: THE RESIZE REBELLION

They reached the central control room, but the Phantom shrank the interface. The terminal screen showed the “System Core,” but the text was microscopic—4-point font.

“I can’t read it!” the Mayor cried, squinting through the security camera feed. “It’s too small!”

“The Phantom is trying to prevent us from resizing text,” Dev said. “But we know the rules. We must be able to increase font size by at least 200% without loss of content or functionality”.

Dev hit the command: Ctrl + +.

The text grew. 150%. 175%.

Suddenly, the “Abort” button disappeared off the side of the screen.

“Horizontal scrolling!” Dax yelled. “The layout is breaking! The content is clipping!”.

The Responsive Trick

The Phantom had set fixed widths in pixels. It wasn’t writing code that adapts to the user’s technology.

“We need a media query, fast!” Dev shouted. “Dax, switch the layout to a single column!”

Dax typed furiously:

@media screen and (max-width: 40em) { .container { width: auto; float: none; } }.

The screen flickered. The content reflowed. The “Abort” button snapped back into view, perfectly stacked below the text, huge and readable.

“Gotcha,” Dev whispered.

CHAPTER 5: THE ALT-TEXT APOCALYPSE

The Phantom had one last trick. A giant image appeared on the screen. It was a complex diagram showing the wiring of the building’s self-destruct sequence.

“Cut the blue wire,” the text said.

But the image didn’t load. It was broken. A broken image icon stared back at them.

“The image is down!” Liam yelled. “We can’t see the wiring!”

“Check the Alternative Text!” Dev commanded.

They hovered over the broken image. A tooltip appeared.

Alt=”Image”

“Uninformative!” Liam screamed. “They wrote ‘Image’ as the alt text! That provides no information or function!”.

“We’re stuffed,” Dax whispered. “Without the diagram, we’re flying blind.”

The “Long Desc” Surprise

“Wait,” Liam said. “Look deeper. Did they provide a long description link?”

Dev checked the code. Buried in the attributes was a link to a separate HTML page describing the complex image.

Dev clicked it. A text-only page loaded.

“Wiring Diagram Description: The sequence proceeds from top to bottom. The third wire is the null wire. Cut the third wire.”

“It’s not visual,” Liam laughed. “It’s a text alternative conveying the essential information presented by the image”.

Dev slashed the third wire (virtually). The system powered down.

The Phantom’s code dissolved, replaced by a simple, text-based message: Process Complete.

The Three Best Friends sat back. They were flat out like a lizard drinking, but they had won.

“You know,” Liam said, packing up his gear. “Accessibility isn’t just about rules. It’s about making sure that when the image breaks, the meaning survives.”

“Fair dinkum,” Dev agreed. “Now, let’s get a snag. I’m starving.”

CHAPTER 6: THE JARGON JUNGLE

The victory at the Opera House was short-lived. As the Three Best Friends returned to their 4WD, a holographic projection exploded from the dashboard. It was a wall of text, dense and impenetrable.

“What is this?” Dax asked, rubbing his eyes. “It looks like a legal contract mixed with a blender.”

Liam squinted at the floating letters. “It’s the Phantom’s Manifesto. But it’s written in… Bureaucrat.”

The text read: “In the eventuality of a non-compliance occurrence regarding the utilization of digital assets, a systemic cessation of functionality will manifest.”

“It’s unnecessarily complex,” Liam groaned. “It violates the rule: Keep content clear and concise”.

The Reading Level Trap

Suddenly, the car doors locked. The air conditioning shut off. The Phantom was suffocating them with verbosity.

“We have to translate it to unlock the doors!” Liam yelled. “He’s testing our Reading Level”.

Liam’s fingers flew across his keyboard, rewriting the manifesto in real-time. He aimed for short, clear sentences.

  • Original: “The resulting decision may occasion one of the following options: the claim is not approved…”.
  • Liam’s Edit: “Rejected claim – no payment”.

“Avoid using unnecessarily complex words and phrases!” Liam shouted at the screen.

As he simplified the last sentence—changing “ascertain the causality” to “investigate the cause”—the locks clicked open.

“Fair dinkum,” Liam panted. “That was harder than reading a tax return in the dark.”

CHAPTER 7: THE FOCUS FUGITIVE

The simplified manifesto revealed a coordinate: The City Archives. They arrived to find the building pitch black.

“No lights,” Dev whispered. “And look—my mouse cursor is gone.”

The Phantom had disabled all pointing devices. They were in a Keyboard-Only Zone.

“No dramas,” Dev said, cracking his knuckles. “I can navigate this whole building using just the Tab key. It is important that users can reach all interactive elements using the keyboard”.

Dev pressed Tab. A sound echoed in the darkness—a digital clunk.

“I’m moving,” Dev said. “But I can’t see where I am. There’s no Visible Keyboard Focus”.

The Phantom had removed the outline that usually highlights the active element. Dev was flying blind.

The Border Trick

“It is not clear which element has focus,” Dev panicked. “I could be activating the fire alarm or the coffee machine.”

“Inject a style!” Dax yelled. “Give it a border!”

Dev typed blindly into the console: *:focus { outline: 3px solid #FFD700; }.

Instantly, a bright gold ring appeared around a door handle in the distance. Dev hit Tab again. The gold ring jumped to a window latch.

“Visible keyboard focus could be a border or highlight,” Dev grinned. “Now I can see where I’m going.”

He tabbed to the main lock, hit Enter, and the Archive doors creaked open.

CHAPTER 8: THE CAROUSEL OF CHAOS

The lobby of the Archives wasn’t a room; it was a spinning cylinder. The walls were covered in digital news clips rotating violently around them.

“I’m gonna be sick,” Dax groaned, clutching his stomach. “It’s moving too fast!”

“It’s a Carousel Trap!” Dev shouted. “The Phantom has set it to autoplay without controls.”

This applied to carousels, image sliders, and background sound. The room was a violation of the rule: Provide controls for content that starts automatically.

“We need to stop it!” Liam yelled. “Provide visible controls to allow users to stop any animations!”.

The Pause Button Hunt

Dax scanned the spinning walls. “I can’t see a pause button!”

“He hid it!” Dev realized. “He probably made it active only on mouse hover, but we can’t hover if we’re spinning!”

Dev anticipated the code structure. “Show play/stop and selection controls,” he muttered. He threw a virtual “focus” command at the bottom center of the room.

A large, glowing “II” (Pause) symbol appeared.

Dev slammed his hand on the virtual button. The room shuddered and stopped.

“She’ll be right,” Dax exhaled, leaning against a stationary wall. “Next time, I’m bringing a bucket.”

CHAPTER 9: THE ERROR OF THEIR WAYS

They reached the central vault. To open it, they had to fill out a digital “Access Request” form projected onto the steel door.

Liam typed in the clearance code: Open Sesame.

The screen flashed red. Text appeared: ERROR.

“Error what?” Liam asked. “That’s it? Just ‘Error’?”

“It’s an uninformative error message,” Dev sighed. “It doesn’t help users find where the problem is”.

“The Phantom is being vague on purpose,” Dax said. “We need to force the system to provide specific, understandable explanations”.

The Suggestion Twist

Dev hacked the form’s validation script. “Tell us what’s wrong!” he commanded.

The text morphed.

  • Old: Error.
  • New: The password needs to include at least one number.

“Ah,” Liam said. “He wants a digit.”

Liam typed: Open Sesame 1.

The screen flashed red again.

  • New Message: The username ‘Superbear’ is already in use.

“We aren’t Superbear,” Liam laughed. “We’re the Three Best Friends.”

He corrected the input. The error vanished. The door clicked.

“Suggest corrections,” Liam noted. “It makes life heaps easier”.

CHAPTER 10: THE AMBIGUOUS EXIT

Inside the vault, they found the Phantom’s source drive. But as Dax grabbed it, the room began to dissolve. The “Exit” signs flickered and changed text.

Every sign now read: Click Here.

“Which one is the real exit?” Dax yelled. “There are fifty doors, and they all say ‘Click Here’!”

“It’s Ambiguous Link Text,” Liam shouted. “He’s hiding the target. We don’t know if ‘Click Here’ leads to the lobby or a volcano.”

“Avoid using ambiguous link text,” Dev recited. “Write link text so that it describes the content of the link target”.

The Contextual Reveal

“Screen reader users like Lakshmi would use a ‘links list’ to navigate,” Liam said. “If she pulled up a list here, she’d just hear ‘Click Here, Click Here, Click Here’. It’s useless.”

Liam pulled out his scanner and overlayed a semantic filter on the room. “I’m renaming the links based on their destination URL!”

The signs shimmered and rewrote themselves:

  • Door 1: Read more about device independence.
  • Door 2: Proposal Documents (RTF, 20MB).
  • Door 3: Exit to Street Level.

“Door 3!” Dax shouted. “That’s the Meaningful Information we needed!”.

They sprinted through Door 3 just as the vault deleted itself.

CHAPTER 11: THE CONSISTENT KEY

They burst out onto the roof. The Phantom’s drone was waiting, hovering over the helipad.

“You have the drive,” the Phantom’s voice buzzed. “But can you navigate the menu to shut me down?”

A hologram projected a navigation bar. But every time Dev blinked, the “Shutdown” button moved. First it was on the left, then the right, then the footer.

“It’s Inconsistent Navigation!” Dev cried. “He’s moving the elements around!”

“Ensure that navigation across pages within a website has consistent naming, styling, and positioning,” Dax lectured the drone.

The Orientation Cure

“We need to anchor it,” Liam said. “Help users understand where they are in a website by providing orientation cues”.

“Breadcrumbs!” Dev yelled. “I’m adding Breadcrumbs!”

Dev injected a navigation path: Home > System > Controls > Shutdown.

The navigation bar snapped into place. The “Shutdown” button froze in the top right corner.

“Provide clear and consistent navigation options,” Dev whispered, pressing the button.

The drone powered down and dropped onto the roof with a clank.

“Chockers,” Dax laughed, kicking the drone gently. “This day has been chockers with surprises”.

“But we kept it accessible,” Liam smiled. “And that made all the difference.”

“Who’s up for a swim?” Dev asked. “I’ve got my togs”.

“You little ripper,” Liam agreed.


Discover more from SummerSimo Travel Troubles Notes and The Purring Page

Subscribe to get the latest posts sent to your email.

Leave a comment

Discover more from SummerSimo Travel Troubles Notes and The Purring Page

Subscribe now to keep reading and get access to the full archive.

Continue reading