Topic on Talk:Compatibility/Flow

Definition of “Modern”, “Basic” and “Unknown” support in front-end

4
Volker E. (WMF) (talkcontribs)

This is an attempt to clarify the support definition of “Modern”, “Basic” and “Unknown” in front-end technology terms outside of the technical infrastructure access:

On JavaScript

Modern: Everything works as fleshed out in product design (and features take advantage of browser's full capabilities)

Basic: Some features might or might not work, but basic functionality is given, and enhanced functionality degrades gracefully. Examples are basic editing or search.

Unknown: Some browsers might get full features, some not, some even break badly.

On CSS

Modern: Full layout & design features

Basic: Full layout features, we use same CSS, as it might otherwise negatively affect degraded JS functionality. We go through hoops and use Basic as CSS level for our designs incl Modern.

Unknown: Not cared about. Given we're only using semantic HTML basic readability is ensured (only exceptions are browser bugs)

Jdforrester (WMF) (talkcontribs)

This is wrong, isn't it?

"Basic" for JS means "We intentionally don't ship you any JS because we don't want to break your browser".

"Unknown" for JS means "We ship you JS, who knows, it might work, good luck".

Tacsipacsi (talkcontribs)

Actually “Unknown” for JS means “We may or may not ship JS; if we do, it’s mostly okay, but we don’t guarantee it doesn’t break terribly, good luck.” Ancient browsers that are not even “basic” usually don’t get JS due to the feature test. “Unknown” browsers that do get JS are probably mainly relatively recent forks of “modern” browsers or chromes over their engines (SeaMonkey, Vivaldi, Samsung Internet, Tor Browser etc.), which should mainly work.

Jdforrester (WMF) (talkcontribs)

Indeed.

Reply to "Definition of “Modern”, “Basic” and “Unknown” support in front-end"