This was asked a couple of hours ago:

[What is the difference between E:dir(dir) and E[dir="dir"] in CSS?](https://stackoverflow.com/questions/41443534/what-is-the-difference-between-edirdir-and-edir-dir-in-css)

on which I just left the following comment:

> 
> The same reason why a :lang() pseudo exists as opposed to the [lang] attribute selector: [What's the difference between html[lang="en"] and html:lang(en) in CSS?](https://stackoverflow.com/questions/8916360/whats-the-difference-between-htmllang-en-and-htmllangen-in-css)
> 
> 
> 

Both questions can be answered almost completely word-for-word with the exact same answer, with either the "lang" or "dir" keywords filled in as appropriate. Were I to answer the "dir" question, pretty much the only thing I would change from my answer to the "lang" question is the quotation of the spec, and the example selectors at the bottom. Except there's a rule of thumb that says that if an answer to one question answers a different question exactly, word for word, then both questions are duplicates.

But are they? The fact that both selectors work so similarly is just a sheer coincidence owing to the nature of the language and directional attributes in HTML. They're still two distinct attributes, and I'm a little iffy about marking one question as a duplicate of the other for that reason. But what's the alternative? Copying my answer to the older question and pasting as new?