Skip to main content

Updating Sitecore Image alt text

One of the most important conditions of making a site accessible is to make sure that all images on the site have the alt field with some value that describes the image. The simplest update we can make to Sitecore is to have the alt field automatically get the image file name. That way even if content authors forget to fill the alt field, it is pre-filled with the file name. To do this just add $name to the alt field in the standard value of an image
[/sitecore/templates/System/Media/Unversioned/Image/__Standard Values]

This is all good for an future images that gets uploaded to Sitecore. But what about all the existing images. For that we can write a PowerShell script (see below) to get all images in the Sitecore image folder that have empty alt tags. Export that to a csv file.



Next create another csv file that has the image id and the image file name. We can use this to run another script to update the alt tags. If you have some images that are in a different language, I found google translate even allows you to upload documents that get translated. So you could upload only the image alt column in English and have it translated by google to any other language.

Using the below PowerShell script and an updated excel file with the image id and alt text columns, you can update all existing images that have empty alt in your Sitecore instance. You can also manually update this file with updated image names. For this you could ask your marketing department or a content author to help.



I worked on this with Nishkala Panduranga a Sitecore developer on my team. I found this helped our Accessibility score and also our content authors not worry about missing to fill out the alt field. Hope this helps someone else out there. Happy Sitecoreing!




Comments

Popular posts from this blog

Sitecore: Get list of logged in users

I had a deployment today and wanted to find a list of users who were logged into the Sitecore admin site. This was mainly so that I can contact them and let them know that a deployment was going to happen. I found the following link very useful as it gave me exactly what I was looking for. A list of users that were logged in and I contacted them. It also has the ability to Kick off users! http://{YourWebsite}/sitecore/client/Applications/LicenseOptions/KickUser Note: You can only see other users in this list if you have the right administrator permission. Logging in with a lower access level user only gave me the logged in user and no one else on the list.

Create Object XML while Debugging in VS

 There are times when you put breakpoints in Visual studio and read object values within Visual Studio. This is all good if you are doing some debugging. But if you want to save an object like a Json object in Visual studio there isn't a straightforward way to do that. I found this piece of code that I copied and pasted in the Immediate Window in Visual Studio and was able to save the object as an XML file. (new System.Xml.Serialization.XmlSerializer(YourObject.GetType())).Serialize(new System.IO.StreamWriter(@"c:\tmp\YourObject.xml"), YourObject) Happy Sitecoreing!