Strict w3c validation allows any data-*
attributes, and any class.
Directives can be applied to DOM elements with any of:
<tag directive-name>
<tag data-directive-name>
(*)<tag x-directive-name>
<tag directive_name>
<tag x_directive_name>
<tag data_directive_name>
At least the data-
one is fully W3C compliant (provided you declare HTML5 doctype). So the following code validates (the attribute name, of course it fails for missing title, missing encoding etc):
<!DOCTYPE html>
<html>
<body data-ng-app="MyApp">
</body>
</html>