GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • MDN
  • HTML: Markup language
  • Elements
  • Global attributes
  • Attributes
  • See all…
  • Responsive images
  • HTML cheatsheet
  • Date & time formats
  • See all…
  • SVG
  • MathML
  • XML
  • CSS: Styling language

This view

  • Original page
  • New address

GeezerVison is showing developer.mozilla.org — HTMLInputElement: selectionDirection property - Web APIs | MDN

HTMLInputElement: selectionDirection property

Baseline
Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2015.

  • See full compatibility
  • Learn more

The selectionDirection property of the HTMLInputElement interface is a string that indicates the direction in which the user is selecting the text.

Value

A string. It can have one of the following values:

forward

The user is extending the selection towards the end of the input text.

backward

The user is extending the selection towards the start of the input text.

none

The user is not extending the selection.

On Windows, the direction indicates the position of the caret relative to the selection: a "forward" selection has the caret at the end of the selection and a "backward" selection has the caret at the start of the selection. Windows has no "none" direction.

On Mac, the direction indicates which end of the selection is affected when the user adjusts the size of the selection using the arrow keys with the Shift modifier: the "forward" direction means the end of the selection is modified, and the "backward" direction means the start of the selection is modified. The "none" direction is the default on Mac, it indicates that no particular direction has yet been selected. The user sets the direction implicitly when first adjusting the selection, based on which directional arrow key was used.

When nothing is selected (the selection is a single caret), how the value of selectionDirection is determined is not consistently implemented and is generally not meaningful.

Setting selectionDirection to a new value fires the selectionchange and select events.

The selectionDirection property applies only to inputs of types text, search, url, tel, and password. On other input types, reading the property returns null, and setting it throws an InvalidStateError DOMException.

Examples

HTML

html
<label for="selectionDirection">selectionDirection property</label>
<input type="text" id="selectionDirection" value="MDN" />
<p id="direction"></p>

JavaScript

js
const textSelectionDirection = document.querySelector("#selectionDirection");
const pConsole = document.querySelector("#direction");
pConsole.textContent = `Selection direction : ${textSelectionDirection.selectionDirection}`;

Result

Specifications

Specification
HTML
# dom-textarea/input-selectiondirection-dev

Browser compatibility

See also

  • HTMLTextAreaElement.selectionDirection property
  • HTMLInputElement.selectionStart property
  • HTMLInputElement.selectionEnd property
  • HTMLInputElement.setSelectionRange method

Help improve MDN

Learn how to contribute

This page was last modified on Oct 28, 2026 by MDN contributors.

View this page on GitHub • Report a problem with this content
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.