Are they allowed? and do they work with all browsers?
<div role = "region"
id = "some-id"
class = "a-class another-class">
Yes, any amount of whitespace is allowed and will work in all browsers.
One consideration - this will add to the page size, so if bandwidth and performance are concerns, try to limit the amount of whitespace you use.
Yes, it is perfectly valid markup. Whitespace is handled nicely by all browsers.
Any time you have confusion, you can validate your code at official W3 validation service:
Yes they are, and they will work in all major browsers, although I would say it should be considered bad practice to include unnecessary white-space as it pointlessly increases the size of the document.
HTML, XHTML, XML and others are all variants of SGML, so if you want to know what is/isn't allowed in general, have a look at that specification. You should always pass all your documents through the W3C markup validators to ensure they are valid.