Critical a11y fix requiring a breaking API change
balancing urgent accessibility risk against breaking-change discipline.
ship a safe interim fix, plan the breaking API as a major with deprecation and codemod, communicate urgency.
What's really being asked
This evaluates judgment under tension: a real user-harming bug pulls toward speed, while a breaking API change pulls toward careful process. You must serve both.
The full answer
First confirm severity and reproduce the issue, since accessibility blockers can legally and ethically demand urgency. Look for a non-breaking interim mitigation you can ship now, for example correcting focus trapping or ARIA internally without changing the public API. If the real fix genuinely requires an API change, design it so the accessible behavior becomes the default. Release it as a major version, but where feasible keep the old behavior available behind a clearly deprecated, discouraged flag during a short overlap so teams are not stranded. Provide a codemod and a migration guide, and communicate the accessibility rationale prominently so teams prioritize upgrading. Track adoption and remove the deprecated path in the next major. Add a regression test so it cannot recur.
The mistakes people make
Forcing an immediate breaking release with no migration path. Conversely, blocking the fix for months purely on process while users are harmed. Hiding the change in a minor version. Skipping the regression test.
What usually comes next
What if no safe interim fix exists? How do you decide overlap length when the bug is critical? How do you handle teams that refuse to upgrade?
A concrete example
The Modal does not trap focus, failing keyboard users. You first ship an internal fix that adds focus trapping without API change. Then you find that proper return-focus behavior needs a new required prop. You release version 6.0.0 with the accessible default, keep a deprecated legacy mode briefly, publish a codemod, and flag the accessibility urgency so teams upgrade quickly.
Interview question
A critical accessibility bug in a Modal needs a breaking API change to fully fix. What is the strongest first response?
- a.Ship a non-breaking interim mitigation if possible, then plan the breaking fix as a majorCorrect
- b.Immediately publish the breaking change with no migration path
- c.Wait several release cycles so process is followed perfectly
- d.Bury the fix in a patch release to avoid alarming teams
Why? this is the answer
An interim non-breaking mitigation protects users now while you stage the proper breaking change responsibly as a major with migration tooling. Hard-breaking immediately strands teams, delaying harms users, and a patch hides a breaking change dishonestly.
Just read this? Test yourself on what you have been reading.
Read the original → zeroheight.com
- #accessibility
- #breaking-changes
- #modal
- #migration
- #incident-response
Put your scrolling time to good use
Learn one idea, try a quiz and save useful cards for revision. Tezvyn makes it easy to learn and stay current in your tech field, a few minutes at a time.
The iPhone app is on the way
We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.
Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.
We are hiring for this. Open roles that interview on accessibility — each one lists the topics its interview covers.
See open roles