HTML Child / The Elements That Carry Meaning
What alternative text is genuinely for, and when to leave it empty
A description of a picture is not a caption, a title or a place to put keywords.
Every image needs a decision, and the decision has two possible outcomes. Either the image carries information the reader would miss without it, in which case you write a short description of that information, or the image is purely decorative and adds nothing to the meaning, in which case you say so explicitly by leaving the description empty. Both outcomes are correct. What is never correct is omitting the decision, because then the software has nothing to work with and typically falls back to reading out a file name, which is noise at best and gibberish at worst.
Writing a good description is a matter of asking what the picture is doing here. A photograph illustrating an article about a coastline needs a brief description of what is shown. A chart needs the finding it demonstrates, not a list of its axes. An image that is also a link needs to describe where the link goes, because that is the information the reader needs at that moment. A decorative background flourish needs nothing, and marking it as empty is a positive act that tells the software to skip it cleanly rather than guess.
The common failures are worth naming. Descriptions that begin by announcing that this is an image are redundant, because the software has already said so. Descriptions that repeat the caption sitting directly underneath make the reader hear the same sentence twice. Descriptions stuffed with search terms serve nobody and are unpleasant to listen to. And descriptions of complex charts that simply say the word chart leave the reader knowing only that they have missed something. Short, specific and honest about the purpose is the standard, and it is easier than it sounds once you stop guessing.