Background colours to convey a quick overview of support.
Display desktop and mobile data side-by-side.
Node.js support in JavaScript tables.
Responsive versions for mobile and tablet views.
Things we know we need to fix before it’s out of beta:
You can’t tell support without the colors.
Localization is spotty. Things like “Yes” and “No” have been translated but not some of the longer more complicated strings.
Long tables on mobile screens are really long.
Colour blind & low-contrast theme users, we’re sorry. The original design had something to help but it didn’t user test well For now you can either: pick “show old table” in drop down menu on the top right or uncheck the beta tester check mark on your profile page. If you would like to help us user test the next colour-free solution please send me an email!
I should preface this by saying that these are way way better than the old tables.
I think the wording and styling or “Partial” is too aggressive. AIUI we get that styling if any subfeatures are not supported, or any subfeatures have any compat notes.
Quite often these things represent quite detailed aspects of the implementation: a user of the API should read the details, but can very often just use the thing fine. I think showing it yellow, with a line across and labeled “Partial”, suggests that I’ll very probably have problems using the feature.
Partial support is something we haven’t specified very well so far. The redesign makes it a lot more visible, so I think we should find a specification for when we want to mark something as partially supported.
I think the current spec and implementation is:
If there is a note for a main feature, the note icon is added ("[ ]"). The cell is not yellow, the icon is sufficient enough.
If there are sub features, the cell of the main feature gets yellow, if:
2.1 the version of one of the sub features is different to the one of the main feature.
2.1.2 exception is if the subfeature version is null/unknown, then no yellow.
2.2 the sub features contain notes (this is a bit inconsistent to the rule 1.).
I’m happy to discuss this spec and to change the implementation (and to fix bugs if it doesn’t work like this everywhere - please file under KumaScript and label as “bcd”).
I think we haven’t really talked about how to do this best yet, so thanks for starting to think about it.
If there is a note for a main feature, the note icon is added (“”). The cell is not yellow, the icon is sufficient enough.
Hmm, if “the icon is sufficient” in this case, then why not also use the icon when incompleteness is expressed in subfeatures? Why isn’t it sufficient in this case too? The disclosure arrow in this case could display the status of subfeatures for this feature, for this browser.
the cell of the main feature gets yellow, if:
2.1 the version of one of the sub features is different to the one of the main feature.
So if I understand it, this means that any feature that has subfeatures that were added in later browser versions, will get “Partial” in aggregate tables. Is that correct? But this is going to apply to a great many features that have very solid cross-browser support going back years.
To pick an example that’s not in WebExtensions, this means that an aggregate table would show that all browsers have partial support for border-radius. This doesn’t seem like a very helpful thing to tell people.
There’s information in footnotes that needs to be represented differently structurally.
Example: rel.preconnect says it has full compatibility from 39 with the footnote “Before Firefox 41, it doesn’t obey the crossorigin attribute.”
This could be full support from Firefox 41 with partial support and a footnote on Firefox 39.
I think this is just a product of migrating our textual data into a structured format and new data will be better.
Figuring out feature support from a bunch of sub features is hard.
Hopefully the new table styles let people determine this themselves at a glance. If not, I think we should be handing it the same way we do “basic support” rows and doing them by human.
AFAIK we tested some different icons here, and the summary is: noone understood any of them, but everyone just hovered over the icon, saw the tooltip, and understood then.
I think that the disclosure arrow at the bottom of the cell is also always visible when the [] icon is. If this is true, then perhaps we could dispense with the icon entirely, and just use the arrow as an indicator? https://screenshots.firefox.com/zSlRI50Uwubl5djW/developer.mozilla.org
We need to keep an icon because the down arrow could be there when there are no footnotes on the current version. (The down arrow indicates that there is more information available. That could mean more information on previous versions but no restrictions on the current version.)
Well, that is how it is intended anyway
Thanks,
Stephanie.
A little history for those interested:
The icon is meant to represent “see footnotes” and started out as the same symbol we’re using in the current tables, including a number “[1]”. The number-less icon “[ ]” tested best as a replacement for the text “See Footnotes” but… I was probably thinking a bit too literally here and did not think to even test an asterisk.
It occurred to me just now that the little widgets for opening the notes on a given feature for a particular browser are very small and may be difficult to click, especially for people with dexterity issues or people using certain types of low-precision input devices (possibly including touch screens). It might be a good idea to make them just a little bit taller.
Perhaps, yes. It would at least be worth testing some alternative heights, to see if it brings a11y advantages without affecting the look and feel too much.
The note widgets are of course keyboard accessible, providing another way to access them for those with keyboard available.
So, yes, the names should wrap. That said, it seems to me that when looking at an article about a specific interface, it would be nice if we could remove the “InterfaceName.” part from “InterfaceName.functionName()”.
When looking at the page about the RegisteredContentScript interface or class, the compat table doesn’t need to say the name of the interface at all, really, does it?