Question: AngularJS documentation [says](https://code.angularjs.org/1.0.8/docs/guide/directive) `Optionally the directive can be prefixed with x-, or data- to make it HTML validator compliant.`.

Example markup:

1. no prefix: `<input ng-model="name">`
2. `data-` : `<input data-ng-model="name">`
3. `x-` : `<input x-ng-model="name">`

The `x-` prefix is faster to type than `data-`, but the tutorials I have seen used either no prefix or `data-`, so my question is: are there any reasons I might want to use `data-` rather than `x-`?

Answer: 
The advantage of using a `data-` prefix rather than an `x-` prefix is that `data-` prefixes are guaranteed to remain available to authors as they like, whereas an `x-` prefix might one day be used for a browser-specific purpose, possibly conflicting with yours. Note that `x-` are not conforming according to HTML5.
`data-` is a [standardized part](http://ejohn.org/blog/html-5-data-attributes/) [of the HTML5 spec](http://www.w3.org/html/wg/drafts/html/master/dom.html#embedding-custom-non-visible-data-with-the-data-%2a-attributes). Semantically it's the best way to go.