I’d be in favour of using capabilities rather than UA-sniffing.
`('placeholder' in createElement('input') && 'placeholder' in createElement('textarea'))`
like in Modernizr https://github.com/Modernizr/Modernizr/blob/master/feature-detects/forms/placeholder.js