{"id":14252,"date":"2026-06-04T01:18:00","date_gmt":"2026-06-04T05:18:00","guid":{"rendered":"https:\/\/www.both.org\/?p=14252"},"modified":"2026-06-04T07:52:26","modified_gmt":"2026-06-04T11:52:26","slug":"using-ai-to-generate-alt-text","status":"publish","type":"post","link":"https:\/\/www.both.org\/?p=14252","title":{"rendered":"Using AI to Generate Alt Text"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"\" data-post-id=\"14252\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">    <\/span>\r\n<\/div><\/div>\n<p class=\"wp-block-paragraph\">If you&#8217;ve been visiting Both.org, you know that I think that there&#8217;s no such thing as AI &#8212; there&#8217;s just some clever programming. I&#8217;m definitely not a fan of what the marketing folks like to call AI. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, I have found some of that fancy code useful, though not without its problems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">My Use Case<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ve been working on the 3<sup>rd<\/sup> Edition of my three-volume Linux self-study series, \u201c<a href=\"https:\/\/www.both.org\/?p=13773\" data-type=\"link\" data-id=\"https:\/\/www.both.org\/?p=13773\" target=\"_blank\" rel=\"noreferrer noopener\">Using and Administering Linux<\/a>.\u201d One of the tasks I perform on each volume is to create Alt-Text for the figures. That includes true graphics as well as tables and ASCII text diagrams. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is mandated by the European Union, and is intended to assist users of screen readers to better understand the figures. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is a daunting task as I use a lot of figures and there are clear guidelines about the structure and format of Alt text. Certain things must be done in certain ways to ensure the Alt text conveys its meaning clearly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fortunately Apress, my publisher, has adopted an AI tool intended to generate Alt text from uploaded images. It&#8217;s use it optional, but there&#8217;s so much work involved in proper descriptions, that I couldn&#8217;t see any way to do this without a tool of some kind.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Process<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Each graphic image, usually PNG or JPEG, was named Figure-XX-YY.png, where XX is the chapter number, and YY is the Figure number. That makes identifying and working with the images easy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My initial test was simple. I uploaded two graphics images that I used in one chapter to see and assess the results. It actually looked good; the text was accurate and described the images far better than I would have, including a summary at the end describing the overall purpose of the image. So I uploaded the rest of the images for the first volume. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It was very fast. It generated about 200 alt texts in a few minutes. I copied the texts into a spreadsheet, one line for each image, with the name in column A and the text in column B. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I then spent hours examining each Alt text for accuracy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Several of the texts were just completely wrong, It seemed they were mostly closeups of small sections of a window with a button or icon or two. They apparently looked like bar graphs to the AI so it generated pretty much the same incorrect alt text for each of those. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I also made some changes to a few other texts that added just a bit more context such as using the name of a specific file manager such as Thunar, or application instead of a generic term like &#8220;a file manager.&#8221; For about a couple dozen more, I rewrote about half of what it generated because the text seemed rather random or just fuzzy. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I went through the same process for the second volume with similar results.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">My Conclusions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I found the Alt text  tool very helpful, and many of the Alt texts it generated were quite good. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It does require close scrutiny by a human. It can make significant errors, or it can generate a fuzzy interpretation of some images. I found some instances in which it was literally correct, but technically incorrect. Some texts were technically correct but difficult to read and you could easily tell that they were generated by AI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While this tool is fast and clever, it&#8217;s definitely not AI. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&rsquo;ve been visiting Both.org, you know that I think that there&rsquo;s no such thing as AI &mdash;<\/p>\n","protected":false},"author":2,"featured_media":5090,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[307,57,5],"tags":[123,982,152,938],"class_list":["post-14252","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-books","category-linux","tag-ai","tag-clever","tag-programming","tag-using-and-administering-linux"],"modified_by":"David Both","_links":{"self":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14252"}],"version-history":[{"count":11,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14252\/revisions"}],"predecessor-version":[{"id":14273,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/14252\/revisions\/14273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/media\/5090"}],"wp:attachment":[{"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}