# Actionability Playwright does a range of actionability checks on the elements before performing certain actions. These checks ensure that action behaves as expected, for example Playwright does not click on a disabled button. Playwright waits until all the relevant actionability checks pass before performing an action. This means that action will fail with `TimeoutError` if checks do not pass within the specified `timeout`. Some actions like `page.click()` support `{force: true}` option that disable non-essential actionability checks, for example passing `force` to `click()` method will not check that the target element actually receives click events. | Actions | Performed checks | | ------ | ------- | | `check()`
`click()`
`dblclick()`
`hover()`
`uncheck()` | [Visible]
[Stable]
[Enabled]
[Receiving Events]
[Attached]† | | `fill()` | [Visible]
[Enabled]
[Editable]
[Attached]† | | `focus()`
`press()`
`setInputFiles()`
`selectOption()`
`type()` | [Attached]† | | `selectText()` | [Visible] | | `dispatchEvent()`
`scrollIntoViewIfNeeded()` | -- | | `getAttribute()`
`innerText()`
`innerHTML()`
`textContent()` | [Attached]† | † [Attached] check is only performed during selector-based actions. ### Visibile Element is considered visible when it has non-empty bounding box and does not have `visibility:hidden` computed style. Note that elements of zero size or with `display:none` are not considered visible. ### Stable Element is considered stable when it has maintanined the same bounding box for at least two consecutive animation frames. ### Enabled Element is considered enabled when it is not a `