The :read-write CSS pseudo-class represents an element (such as a text input) that is editable by the user.

/* Selects any <input> element that is editable */
/* Supported in Firefox with a prefix */
input:-moz-read-write {
  background-color: #bbf;
}

/* Supported in Blink/WebKit/Edge without a prefix */
input:read-write {
  background-color: #bbf;
}

Note: This selector doesn't just select text <input>s; it will select any element that can be edited by the user, such as a <p> element with contenteditable set on it.

Syntax

:read-write

Example

HTML

<input type="text" value="Type whatever you want here.">
<input type="text" value="This is a read-only field." readonly>
<p>This is a normal paragraph.</p>
<p contenteditable="true">You can edit this paragraph!</p>

CSS

input { min-width: 25em; }
input:-moz-read-write { background: cyan; }
input:read-write { background: cyan; }

p:-moz-read-write { background: lightgray; }
p:read-write { background: lightgray; }
p[contenteditable="true"] { color: blue; }

Result

Specifications

Specification Status Comment
HTML Living Standard
The definition of ':read-write' in that specification.
Living Standard No change.
HTML5
The definition of ':read-write' in that specification.
Recommendation Defines the semantics regarding HTML and constraint validation.
Selectors Level 4
The definition of ':read-write' in that specification.
Working Draft Defines the pseudo-class, but not the associated semantics.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support Yes
Prefixed Notes
Full support Yes
Prefixed Notes
Prefixed Requires the vendor prefix: -moz-
Notes See bug 312971 for unprefixed status.
IE No support NoOpera Full support YesSafari Full support YesWebView Android ? Chrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support Yes
Prefixed Notes
Full support Yes
Prefixed Notes
Prefixed Requires the vendor prefix: -moz-
Notes See bug 312971 for unprefixed status.
Opera Android ? Safari iOS ? Samsung Internet Android Full support Yes
Matches editable elements that are neither <input> elements nor <textarea> elementsChrome No support NoEdge No support NoFirefox Full support YesIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoEdge Mobile No support NoFirefox Android Full support YesOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also

Document Tags and Contributors

Last updated by: fscholz,