Android ROMs (firmwares) and browser confusion

Android fragmentation is a mess, what can we do?

Thousands of Android devices in the wild

As web developer my main concern is the browser in the mobile Android world and features support.

One web is almost only a dream. Can I test thousands devices? Nope.

Definitions first, strange words for the poor state of things:

ROMs, firmwares
Is the operating system of the device: Android is a Linux/custom Java platform. Basically the Linux kernel with the drivers for the device plus preinstalled launcher and other apps (the browser of course!).
Android Open Source Project, is the common open source software, created and mantained by Google, for the Android platform. There are ROMs out there AOSP-based and very few preinstalled apps.
Stock ROMs are the firmwares preinstalled on the device: often heavily customized and rarely updated by manufacturers and phone carriers and telcos. Samsung, LG, HTC, Huawei, Verizon, AT&T, Vodafone, Tim etc.... Most Android devices born and died with this crap.
Technically stock ROMs are all AOSP ROMs apart from the versions of Android that haven't been released yet.
The most popular alternative ROM, available for hundreds of device models.
Custom ROM
Yes, you can build your custom ROM. XDA is the best resource, the best community of ROM developers.
Chromium is the open source (webkit) browser inside Chrome, the Google browser.

Android browser fragmentation

Through the apps markets (Google Play Store is not the only...) you can install many different browsers, but the preinstalled browser is the main target.

Chrome is the default browser. Well... sorf of... There are many variations and custom Chromium-based browsers out there.

But ok, well... ignore the Samsung most common devices and choose the most standard and updated implementation: little difference still exists, not documented.

Quick HTML5test score:

Ubuntu 14.04 LTS + Chrome 42.0.2311.90 (64-bit) sul desktop -> 523/555
Motorola Moto G 2013 (Android 5.0.2) + Chrome 42.0.2311.109 -> 515/555

You can only imagine how different is the Samsung webkit browsers.

What can I do?

Develop for the future, follow the standard, ignore as you can the abominations of vendor-specific properties.