Por que :: selection foi removido da especificação CSS Selectors e como sua especificidade funciona nos seletores de tipo?

Algumas perguntas sobre o uso de CSS para especificar a cor do texto selecionado:

https://developer.mozilla.org/En/CSS/::selection diz que,

::selection foi redigido paraSeletores CSS3 mas removido do rascunho CSS3 atual. De qualquer forma, ele é implementado nos navegadores e o suporte continuará.

Por que foi removido?

Imagine que exista uma regra como a seguinte no CSS padrão implementado pelo navegador:

::selection { background-color: Highlight; color: HighlightText; }

Imagine ainda que uma regra como a seguinte seja definida em qualquer folha de estilo criada por site específico:

body { background-color: white }

Dadas essas regras, qual seria a cor de fundo do corpo do texto selecionado: seriawhiteouHighlight?

Talvez a regra na folha de estilo do autor deva substituir a regra padrão: porque, de acordo com a especificidade,body é tão específico quanto::selection e é especificado posteriormente (e, portanto, deve substituir a entrada anterior).

Por outro lado, isso resultaria em texto invisível quando selecionado (porque seHighlight é azul eHighlightText é branco, para que o texto selecionado fique branco sobre azul, substituindo obackground-color do texto selecionado para que fique branco resultaria em branco sobre branco).

Supondo que o comportamento na etapa 2 seja indesejável, como evitá-lo?

Digamos que seja um erro na folha de estilo do usuário, que nunca deve especificarbackground-color sem também especificarcolor?

Diz issobody não corresponde ao texto do corpo selecionado, exceto quando o::selection pseudoelemento é especificado como parte do seletor?

questionAnswers(4)

yourAnswerToTheQuestion