summaryrefslogtreecommitdiff
path: root/modules/file
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-10-20 01:31:07 +0000
committerDries Buytaert <dries@buytaert.net>2010-10-20 01:31:07 +0000
commitb0cbc018ec0ab568a6c9bff712a331417a3ccd8d (patch)
tree6ba0a3b5bdc3f2b61d6b18d9ba4e762edb87f098 /modules/file
parentcb1f944383477ea46d49326887ababb8f64899dd (diff)
downloadbrdo-b0cbc018ec0ab568a6c9bff712a331417a3ccd8d.tar.gz
brdo-b0cbc018ec0ab568a6c9bff712a331417a3ccd8d.tar.bz2
- Patch #882694 by mgifford, sun, ksenzee, bleen18, yched: add missing form element titles for accessibility.
Diffstat (limited to 'modules/file')
-rw-r--r--modules/file/file.field.inc24
-rw-r--r--modules/file/file.module2
2 files changed, 26 insertions, 0 deletions
diff --git a/modules/file/file.field.inc b/modules/file/file.field.inc
index 286e2e0b7..faa661ea0 100644
--- a/modules/file/file.field.inc
+++ b/modules/file/file.field.inc
@@ -674,8 +674,11 @@ function file_field_widget_process_multiple($element, &$form_state, $form) {
foreach ($element_children as $delta => $key) {
if ($key != $element['#file_upload_delta']) {
+ $description = _file_field_get_description_from_element($element[$key]);
$element[$key]['_weight'] = array(
'#type' => 'weight',
+ '#title' => $description ? t('Weight for @title', array('@title' => $description)) : t('Weight for new file'),
+ '#title_display' => 'invisible',
'#delta' => $count,
'#default_value' => $delta,
);
@@ -699,6 +702,27 @@ function file_field_widget_process_multiple($element, &$form_state, $form) {
}
/**
+ * Helper function for file_field_widget_process_multiple().
+ *
+ * @param $element
+ * The element being processed.
+ * @return
+ * A description of the file suitable for use in the administrative interface.
+ */
+function _file_field_get_description_from_element($element) {
+ // Use the actual file description, if it's available.
+ if (!empty($element['#default_value']['description'])) {
+ return $element['#default_value']['description'];
+ }
+ // Otherwise, fall back to the filename.
+ if (!empty($element['#default_value']['filename'])) {
+ return $element['#default_value']['filename'];
+ }
+ // This is probably a newly uploaded file; no description is available.
+ return FALSE;
+}
+
+/**
* Returns HTML for an individual file upload widget.
*
* @param $variables
diff --git a/modules/file/file.module b/modules/file/file.module
index 08b383555..2249b0b81 100644
--- a/modules/file/file.module
+++ b/modules/file/file.module
@@ -431,6 +431,8 @@ function file_managed_file_process($element, &$form_state, $form) {
$element['upload'] = array(
'#name' => 'files[' . implode('_', $element['#parents']) . ']',
'#type' => 'file',
+ '#title' => t('Choose a file'),
+ '#title_display' => 'invisible',
'#size' => 22,
'#theme_wrappers' => array(),
'#weight' => -10,