Unformed Building

-ms-user-select: noneはuser-select: noneの替わりにはならない

公開:

パーマリンク

任意の要素に対し、ユーザーの選択を無効化するためにuser-select: noneが指定されることがあります。

Internet Explorerは標準構文をサポートしていないため、Internet Explorerがサポート範囲にある場合は-ms-接頭辞のついた-ms-user-select: noneもいっしょに記述されることでしょう。
もっとも、現代の制作ではAutoprefixerが使われることが多いでしょうし、意識して-ms-user-selectを書くことは少ないと思います。

それはともかく、-ms-user-select: noneを指定しても、該当要素のテキストが選択できてしまうことがあります。
なぜそういうことが起きるのか。それについては-ms-user-selectの仕様に記載されています。

Blocks selection from starting on that element. It will not block an existing selection from entering the element.

-ms-user-select property (Internet Explorer) | Microsoft Docs

「選択が該当要素から始まるのを防ぐが、すでに存在する選択範囲が該当要素に到達することはブロックしない」と書かれています。

なので、Internet Explorerで-ms-user-select: noneが指定された要素が場合によって選択可能なことはバグでもなんでもなく、そういうものだったということです。