The summary.
USE ESTABLISHED LIBRARIES FOR DIALOGS, MENUS AND SELECTS
Focus trapped and restored, escape handling, arrow key navigation, correct announcement — most hand-built versions omit all of it except the visual overlay.
The symptom is keyboard users tabbing into the page behind a modal, invisibly.
ANYTHING DRAGGABLE NEEDS A KEYBOARD ALTERNATIVE
And move-up and move-down controls are frequently simpler and sufficient.
ANIMATE POSITION AND OPACITY, BRIEFLY, AND RESPECT REDUCED MOTION
Motion causes genuine discomfort for some people, and properties forcing layout recalculation stutter on modest devices.
Motion noticed as motion is usually too much.
PUT SEARCH TERMS AND FILTERS IN THE ADDRESS
And cancel superseded requests, or an earlier slower response overwrites a later one.
PREFER PAGINATION OR A LOAD-MORE CONTROL
Infinite scrolling removes the sense of scale, makes returning difficult, makes footers unreachable, and consumes data without the user choosing.
DELAY LOADING INDICATORS BRIEFLY
A spinner flashing for a moment is worse than none. And match skeletons to the real layout, or content jumps when it arrives.