From MozillaWiki
Jump to: navigation, search

WebCompat Taxonomy

Explore the reasons why a site fails in a browser.

  • The Web site is using a specific vendor technology. Examples: Think about prefixed CSS and JavaScript. Specific codec for video supported only in one browser, platform, …
    • We can outreach the site. Long process and not always successful
    • We may be able to shim it inside Firefox while attempting to do outreach.
    • We can fix it in Firefox if really widespread on too may sites. It becomes (unfortunately) part of the Web reality.
  • The Web site is sending a specific working version of the site. Often based on user agent sniffing both on the client side or/and the server side. Examples: Different tier version for different browsers (Google search, Baidu, etc.). These can be very difficult to solve. It's more business related than a technical issue.
    • We can outreach to the site, if we can demonstrate that the other version is working well in Firefox.
    • We can create a UA override in some circumstances. Drawback: we disappear from the statistics.
  • The Web site is sending to a specific interactions of the site through features detections.
    • We can outreach to the site.
    • We can try to shim it.
  • The Web site is using a standard technology not yet supported by Firefox. Example: SpeechRecognition. This creates a load of secondary issues such as adding future code detection legacies. The Webcompat issues of today are sometimes created by the lack of support of technologies of yesterdays.
    • We need to fix it in Firefox.
  • The Web site is using a non-standard technology not yet supported by Firefox. Example from the past: innerText, window.event, … These are hard to fix. When we fix it in Firefox, we create secondary compatibility issues, because sites were relying on it. Example: using window.event, to target the detection of keyCode.
    • We can fix it in Firefox, but we need to deal with the consequences too.
    • We can outreach if the problem is not widespread.