Andrew Roazen
roazena.bsky.social
Andrew Roazen
@roazena.bsky.social
Fullstack web developer.
You'd think after seeing Samsung bypass the matter of dropdowns entirely that Mozilla would have punted and done the same here.
May 1, 2025 at 8:37 PM
I don't want to badmouth the @firefoxnightly.bsky.social team, but I'm still befuddled by it refusing to implement a standard HTML5 element for 6 years running, just because the devs can't agree on which of 2 Android UI toolkits to build the dropdown (or alternative) with.

WebKit hasn't done that.
1535985 - [Android] `<datalist>` HTML element should display autocompletion drop-down UI
NEW (m_kato) in GeckoView - General. Last updated 2025-04-14.
bugzilla.mozilla.org
May 1, 2025 at 7:43 PM
Forms got added to HTML under an assumption the OS-native elements would be implemented directly with no real styling control beyond size, ensuring maximum platform compatibility. CSS forced vendors to subject form elements to Z-index and rendering order, the other attributes were inevitable.
April 28, 2025 at 5:32 PM
I'm well aware there's potential for badly optimized algorithms, race conditions, forkbomb-like behavior and endless recursion but those concerns didn't stop JS.
April 28, 2025 at 4:49 PM
I appreciate the correction; my point remains that like custom web elements, custom pseudoselectors would allow more to be done directly in markup. But as long as CSS remains the only black box in the ecosystem it will continue to evolve the most slowly.
April 28, 2025 at 4:45 PM
Some of these decisions belong in the hands of web developers who'd likely say "this is contextual to :submit the way a highlight is contextual to :hover, we need a :submit pseudoselector" then construct one.
April 25, 2025 at 4:50 PM
CSS syntax's paradigms necessitated the creation of pseudoselectors able to enumerate, insert content, and respond to interaction/state but they're still too primitive contextually.

For example :invalid applies to all unfilled required form elements *at page load* when it only needs to at submit.
April 25, 2025 at 4:35 PM
I can only speak for myself but as someone with a decade in DTP/prepress before transitioning to fullstack, patiently watching CSS evolve, my pain points are generally closer to "configurable pseudoselectors and awareness of font metrics" than "full parity with Quark XPress layout features."
April 25, 2025 at 4:07 PM
What does refactoring it in Rust do in terms of features or performance, or is this just PoC that it's suitable for embedded?
January 6, 2025 at 7:30 PM
Apple has no business whatsoever designing or manufacturing mice. The moment I added a USB card to my PowerMac 7500 in 1997, the first thing I did was replace the mouse with a generic 2-button model – which immediately recognized "right click" as the keyboard CTRL ⌃ context modifier.
January 6, 2025 at 7:25 PM
And in practice, DOM will silently convert both forms to HTML comments
<!--?𝙽𝚎𝚇𝚃𝙲𝚛𝚎𝚊𝚝𝚎 𝙸𝚍𝚂𝚝𝚊𝚛𝚝="𝟻" ?-->
<!--𝙽𝙴𝚇𝚃𝙲𝚁𝙴𝙰𝚃𝙴 𝙸𝙳𝚂𝚃𝙰𝚁𝚃 "𝟻"-->
to ensure they can't become nodes never mind content.

Likewise, any comments added to a !𝙳𝙾𝙲𝚃𝚈𝙿𝙴 will be stripped out.
January 6, 2025 at 7:13 PM
Put another way:
<!𝙳𝙾𝙲𝚃𝚈𝙿𝙴 𝚑𝚝𝚖𝚕 -- 𝚃𝚑𝚒𝚜 𝚖𝚎𝚊𝚗𝚜 𝙷𝚃𝙼𝙻𝟻 -->
and
<!𝙳𝙾𝙲𝚃𝚈𝙿𝙴 𝚑𝚝𝚖𝚕>
should be exactly the same statement as far as your browser is concerned.

<!-- 𝙷𝚎𝚕𝚕𝚘 --> is SGML <! > markup telling your browser it's not page content, and --…-- with no keyword/arguments telling SGML it's only a comment.
January 6, 2025 at 6:58 PM
Modern web devs have a stubborn blind spot when it comes to anything in spec that isn't HTML/JS/CSS even though metadata has always been possible even without comments.

The astute among you will realize that HTML comments are merely commandless SGML directives leveraging --[𝙲𝙳𝙰𝚃𝙰]-- comment syntax.
January 6, 2025 at 6:35 PM
This sort of thing should have been an SGML processing instruction (not markup) which would have told the user agent to ignore it, 𝙽𝚎𝚇𝚃𝙲𝚛𝚎𝚊𝚝𝚎 not being a known target like 𝚇𝙼𝙻 is:
<?𝙽𝚎𝚇𝚃𝙲𝚛𝚎𝚊𝚝𝚎 𝙸𝚍𝚂𝚝𝚊𝚛𝚝="𝟻" ?>

Still cheating slightly, but cleaner than validation-failing
<!𝙽𝙴𝚇𝚃𝙲𝚁𝙴𝙰𝚃𝙴 𝙸𝙳𝚂𝚃𝙰𝚁𝚃 "𝟻">
January 6, 2025 at 6:17 PM
Looking at the 𝙽𝙰𝙼𝙴 values, I'm guessing Create automatically updated 𝙽's value every time the file was saved; docs suggest the tag was intended to not be manually edited more than the first time you created the document (e.g. if you wanted to set an alpha prefix, a later feature).
January 6, 2025 at 5:55 PM
Also, 𝙽𝙴𝚇𝚃𝙸𝙳 is bizarre because it has no document syntactic meaning and only told one specific HTML editor on the NeXT (Create) to automatically generate/insert unique 𝙽𝙰𝙼𝙴 attribute values on anchors (before we switched to using 𝙸𝙳 for this). It was the first HTML element to be removed from spec.
<nextid>: The NeXT ID element (Obsolete) - HTML: Hypertext Markup Languagesearch
udn.realityripple.com
January 6, 2025 at 5:47 PM
Oh my lord, I forgot <𝙷𝙴𝙰𝙳𝙴𝚁> instead of <𝙷𝙴𝙰𝙳> used to be a thing and I've been doing this for a living since the late 90s.
January 6, 2025 at 4:32 PM
"Hovel"
November 16, 2024 at 2:33 AM
(Technically by virtue of my surname, all my posts bring some -zen to the timeline.)
November 16, 2024 at 2:31 AM
Are you calling this epigenetics or Lamarckianism?
November 16, 2024 at 2:30 AM
LLMs can match patterns but they cannot truly solve problems (the central part of an engineer's or programmer's job), because thinking is not reducible to pattern matching. They are passable at writing algorithms or answering trivia questions.
November 16, 2024 at 2:29 AM
It was designed to teach concepts no longer applicable to software development, encourages multiple bad practices including spaghetti code, yet despite all of that I owe my career to learning it in 1977.

A language designed to teach will have to be unlearned eventually.
November 16, 2024 at 2:22 AM
As do I, but I was happy to sell it to someone who was building a home security system with it.
November 15, 2024 at 11:16 PM