The key is this if
construct: if (!empty($variables['element']['#active']))
with regard to getting the titles of the inactive tabs to respond. My solution was to customize: theme_menu_local_task
. Perhaps there is a better solution?
/**
* Alter theme_menu_local_task.
*/
function my_theme_menu_local_task($variables) {
$link = $variables['element']['#link'];
$link_text = $link['title'];
if (!empty($variables['element']['#active'])) {
// Add text to indicate active tab for non-visual users.
$active = '<span class="element-invisible">' . t('(active tab)') . '</span>';
// If the link does not contain HTML already, check_plain() it now.
// After we set 'html'=TRUE the link will not be sanitized by l().
if (empty($link['localized_options']['html'])) {
if (arg(0) != 'my-page') { // ** ADDED **
$link['title'] = check_plain($link['title']);
} // ** ADDED **
}
$link['localized_options']['html'] = TRUE;
$link_text = t('!local-task-title!active', array('!local-task-title' => $link['title'], '!active' => $active));
}
if (arg(0) == 'my-page') { // ** ADDED **
$link['localized_options']['html'] = TRUE; // ** ADDED **
} // ** ADDED **
return '<li' . (!empty($variables['element']['#active']) ? ' class="active"' : '') . '>' . l($link_text, $link['href'], $link['localized_options']) . "</li>\n";
}