I consider those them less optional for a few reasons:
Every web search looks for summary in your meta tags… This means you have to have
an html tag and head tag already. This is what the person sees when they Google your site before they actually click anything. Keywords in the meta tags are really depreciated but titles and summaries are mandatory if you want ranking.
If you used html+head already then body becomes mandatory. Behavior on what browsers will do without that at that point is undefined… Considering it’s basically one extra element it’s no big deal.
Google themselves send HTML, HEAD, and BODY elements on their websites for these reasons. So, when in Rome, etc…
See the validation errors on their own page? Don’t do as they do, do as they say. Validation errors hurt your SEO, but if we were to do as they do, your page would be garbage.
It’s not really false, it’s just the understanding that while newer standards have changed older browsers can look at these pages and have a heart attack. If the older browser understands it, and the newer one does… I’ll code for the older one unless I need a specific feature, but that’s just a preference. Your page certainly isn’t getting a rank problem from one extra HTML tag in the mix. In the HTML documents on the W3C boilerplate templates they’re still putting all those tags in… even if they’re unnecessary…
You can use head and body w/o the html tag, but who knows what this would do on some older devices/browsers. Sometimes, I found in the past that they don’t even recognize the page as html and just show you text. That’s why I’m not doing it.
If you’re referring to IE9 then you’d be referring to less than .002% of browser users. Which means none of your sites use flexbox and it has floats everywhere. You’re also not using ES6 or you’ll have to be using a ton of polyfills. I highly doubt your sites accommodate all the things you CANNOT do on <= IE9. In fact, many of Google sites will not even work.
I’m not worried about it… If it’s “optional” then it can be there and it doesn’t break spec. (which is currently the case) As far as “ES6” you can refactor your code to work for older devices if you want to. Just because you learn ES6 doesn’t mean you can’t just transpile it all to ES5 and it’ll work the same.
As far as the “percent” arguments it depends a great deal on who the audience for the site is. I’ve worked on websites where 99% of the people were over aged 65 and they were certainly using these old browsers.
It’s a horrible idea. It’s too easy to update their browser. IE9 has super nasty exploits which allow any newbie to use Metasploit and drop a reverse shell payload on their computer and literally control it remotely. There’s like a million CVEs on IE9.