Consider looking at wp_prepare_attachment_for_js( $attachment ), where $attachment is the WP_Post object of the attachment itself. This is particularly useful (as the name implies), for sending the attachment image meta to a wp.media View via wp_send_ajax(), but that doesn’t mean you couldn’t use it for other purposes.
I like abstracting away from the _wp_attachment_image_alt post meta field, in case the method to retrieve the alt text ever changes (unlikely, but conceivable).
I do feel that there’s a case for a wp_get_attachment_image_alt() method however.
$response = array(
'id' => $attachment->ID,
'title' => $attachment->post_title,
'filename' => wp_basename( $attachment->guid ),
'url' => $attachment_url,
'link' => get_attachment_link( $attachment->ID ),
'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ),
'author' => $attachment->post_author,
'description' => $attachment->post_content,
'caption' => $attachment->post_excerpt,
'name' => $attachment->post_name,
'status' => $attachment->post_status,
'uploadedTo' => $attachment->post_parent,
'date' => strtotime( $attachment->post_date_gmt ) * 1000,
'modified' => strtotime( $attachment->post_modified_gmt ) * 1000,
'menuOrder' => $attachment->menu_order,
'mime' => $attachment->post_mime_type,
'type' => $type,
'subtype' => $subtype,
'icon' => wp_mime_type_icon( $attachment->ID ),
'dateFormatted' => mysql2date( get_option('date_format'), $attachment->post_date ),
'nonces' => array(
'update' => false,
'delete' => false,
'edit' => false
'editLink' => false,
'meta' => false,
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.