<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f" -->

---
title: When a disabled submit button becomes a dead end –...
description: Disabled submit buttons on forms cause real usability problems, particularly when browser or third-party password managers autofill fields without triggering...
canonical: https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: When a disabled submit button becomes a dead end – Bogdan on Digital Accessibility (A11y) | daily.dev
og:description: Disabled submit buttons on forms cause real usability problems, particularly when browser or third-party password managers autofill fields without triggering...
og:url: https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f
og:image: https://api.daily.dev/og/posts/Yk2wKAm8F.png
og:image:alt: When a disabled submit button becomes a dead end – Bogdan on Digital Accessibility (A11y)
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# When a disabled submit button becomes a dead end – Bogdan on Digital Accessibility (A11y)

**[Bogdan on A11y](https://daily.dev/sources/cerovac_a11y)** · 5 min read · 3 upvotes · 1 comments

## Summary

Disabled submit buttons on forms cause real usability problems, particularly when browser or third-party password managers autofill fields without triggering keyup events, leaving the button stuck disabled even though the form appears filled. The author argues this is a lazy pattern (including in AI-generated code) that should be avoided, and offers fallbacks: listen for input events instead of keyup, inform users in text that the button is disabled until valid, use aria-disabled instead of disabled to keep the element tabbable, or better yet, keep the button active and validate on submit while showing inline feedback. Demo forms illustrate bad, better, and best implementations.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://cerovac.com/a11y/2026/08/when-a-disabled-submit-button-becomes-a-dead-end>

## Questions this post answers

### Why does my disabled submit button stay disabled after a password manager autofills the password fields?

The form's JavaScript likely listens only for keyup or similar key events to re-enable the button, but browser autofill and password manager 'suggest strong password' features do not fire keyup events. The fields appear visually filled, but the script still treats them as empty, so the button remains disabled with no explanation to the user. Listening for input events instead, or validating on submit rather than gating the button, avoids this problem.

_daily.dev surfaces accessibility-focused UX fixes for developers debugging form autofill quirks like this._

### Should I use the disabled HTML attribute or aria-disabled for a submit button that must be disabled?

Use aria-disabled="true" instead of the native disabled attribute when a button truly needs to appear inactive, since aria-disabled still allows tabbing to the element while communicating its state to assistive technology. This is recommended for legitimate edge cases like a pagination 'previous' button on the first page or a quantity stepper at its minimum, not for form validation gating.

_developers weighing accessible button states can track patterns like this via daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@mitchleung** · 0 upvotes

> Well that is the pattern that I have been fighting against all the brilliant minds for the last 20 years. It was never good to disable the submit button and actively validating every inputs.  People want it coz they think it can block off spam bots. I can tell you it will not, at least not most of the time. Only dumb bots will be blocked by this. And it's more resource friendly to just check upon submission.

## Similar posts on daily.dev

- [Building Better Buttons](https://daily.dev/posts/building-better-buttons-kfg2u6xfq) · Simple Thread · 68 upvotes · 5 comments
- [The Two Button Problem – Frontend Masters Blog](https://daily.dev/posts/the-two-button-problem-frontend-masters-blog-56i2s1wtl) · Frontend Masters · 122 upvotes · 6 comments
- [Just use a button](https://daily.dev/posts/just-use-a-button-1cpkh1nwy) · Hacker News · 104 upvotes · 13 comments
- [I Learned The First Rule of ARIA the Hard Way](https://daily.dev/posts/i-learned-the-first-rule-of-aria-the-hard-way-bf3esumgq) · CSS-Tricks · 210 upvotes · 12 comments
- [Lost, forgotten, and unfamiliar HTML](https://daily.dev/posts/lost-forgotten-and-unfamiliar-html-gzqwgcxgb) · thoughbot · 75 upvotes · 3 comments

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#ux](https://daily.dev/tags/ux), [#accessibility](https://daily.dev/tags/accessibility)

[View this post on daily.dev](https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"When a disabled submit button becomes a dead end – Bogdan on Digital Accessibility (A11y)","url":"https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f"},"datePublished":"2026-08-15T19:00:05.768Z","dateModified":"2026-09-13T20:21:26.372Z","description":"Disabled submit buttons on forms cause real usability problems, particularly when browser or third-party password managers autofill fields without triggering...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d6c05819b9fd07c096d3e15b4ae622d3?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d6c05819b9fd07c096d3e15b4ae622d3?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Bogdan on A11y","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Bogdan on A11y","logo":"https://media.daily.dev/image/upload/s--PnKkBAl---/f_auto/v1728072573/logos/cerovac_a11y","url":"https://daily.dev/sources/cerovac_a11y"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"javascript,ux,accessibility","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Bogdan on A11y","item":"https://daily.dev/sources/cerovac_a11y"},{"@type":"ListItem","position":3,"name":"When a disabled submit button becomes a dead end – Bogdan on Digital Accessibility (A11y)"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f","comment":[{"@type":"Comment","text":"Well that is the pattern that I have been fighting against all the brilliant minds for the last 20 years. It was never good to disable the submit button and actively validating every inputs.  People want it coz they think it can block off spam bots. I can tell you it will not, at least not most of the time. Only dumb bots will be blocked by this. And it’s more resource friendly to just check upon submission.","datePublished":"2026-08-17T22:49:27.248Z","url":"https://daily.dev/posts/Yk2wKAm8F#c-Q1oTzWhwE","author":{"@type":"Person","name":"Mitch Leung","url":"https://daily.dev/mitchleung","image":"https://avatars.githubusercontent.com/u/126545?v=4"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/when-a-disabled-submit-button-becomes-a-dead-end-bogdan-on-digital-accessibility-a11y--yk2wkam8f#faq","mainEntity":[{"@type":"Question","name":"Why does my disabled submit button stay disabled after a password manager autofills the password fields?","acceptedAnswer":{"@type":"Answer","text":"The form's JavaScript likely listens only for keyup or similar key events to re-enable the button, but browser autofill and password manager 'suggest strong password' features do not fire keyup events. The fields appear visually filled, but the script still treats them as empty, so the button remains disabled with no explanation to the user. Listening for input events instead, or validating on submit rather than gating the button, avoids this problem. daily.dev surfaces accessibility-focused UX fixes for developers debugging form autofill quirks like this."}},{"@type":"Question","name":"Should I use the disabled HTML attribute or aria-disabled for a submit button that must be disabled?","acceptedAnswer":{"@type":"Answer","text":"Use aria-disabled=\"true\" instead of the native disabled attribute when a button truly needs to appear inactive, since aria-disabled still allows tabbing to the element while communicating its state to assistive technology. This is recommended for legitimate edge cases like a pagination 'previous' button on the first page or a quantity stepper at its minimum, not for form validation gating. developers weighing accessible button states can track patterns like this via daily.dev."}}]}
```

