Huwag i-disable ang buttons!

Mas accessible na way para pigilan ang actions ng mga user.

Kapag dini-disable natin ang mga buttons…

<button>Button</button>
<button disabled>Disabled Button</button>

Mas okay na way

<button aria-disabled="true">Button</button>
Ang Accessibility tab sa Firefox DevTools na nagpapakita na may state na 'unavailable' ang isang button na may aria-disabled='true'
Kapag naka-set ang aria-disabled attribute ng isang button to true, hindi ito visually magmumukhang disabled, pero marked ito bilang unavailable sa mga assistive technology.
<button aria-disabled="true" aria-describedby="disabled-hint">Disabled Button</button>
<p id="disabled-hint">Hindi pa puwedeng i-click ang button. Kailangan munang magbayad.</p>

Hindi pa puwedeng i-click ang button. Kailangan munang magbayad.

Ang Accessibility tab sa Firefox DevTools na nagpapakita na napunta sa description ng button ang content ng paragraph.
Gamit ang aria-describedby attribute, puwede nating i-connect sa button ang paragraph na #disabled-hint. Magbibigay ito ng additional information sa mga gumagamit ng assistive technologies kung bakit naka-disabled ang button at kung ano ang puwedeng gawin para makapagpatuloy.

Sa JavaScript, puwedeng i-check ang value ng aria-disabled attribute para malaman kung tutuloy ba dapat ang action kapag nakipag-interact ang user sa button:

const shouldContinue = button.getAttribute('aria-disabled') === 'true'
if(shouldContinue) {
  // Ituloy ang action ng user
} else {
  // Magpakita ng hint (e.g. tooltip, modal) na nagpapaliwanag kung 
  // bakit hindi pa puwedeng ituloy ng user ang action na ito at kung 
  // ano ang puwedeng gawin para ma-enable ang button.
}