Ни HTML5, ни CSS3 не являются предложением "все или ничего". Вы не можете сказать, что браузер на 100% поддерживает его или не поддерживает, поскольку оба представляют собой целый пакет индивидуальных возможностей.
Безопасный способ проверить поддержку - это определить конкретные функции, которые вам нужны, и использовать функцию обнаружения функций, чтобы узнать, поддерживаются они или нет.
Например, IE9 поддерживает части CSS3, но не CSS-переходы. HTML5 состоит из множества разных частей, которые снова по-разному поддерживаются разными браузерами и разными версиями одного и того же браузера. Существует один набор тестов для аудио HTML5, а другой - для локального хранилища, холста, событий изменения хэша, веб-сокетов и т. Д. *
Библиотека обнаружения функций modernizr содержит широкий спектр возможностей обнаружения функций, которые могут позволить вам протестировать именно те возможности, которые нужны вашему приложению, с помощью хорошо протестированного кода. Вы можете включить всю библиотеку или скопировать только те части, которые вам нужны, в свое собственное приложение.
Итак, чтобы проверить CSS3, вам нужно точно определить, какие возможности вам нужны в CSS3, и определить тесты функций для этих конкретных возможностей.
См. в этой статье для получения дополнительной информации об обнаружении функций для отдельных функций HTML5.