diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-10-20 01:31:07 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-10-20 01:31:07 +0000 |
commit | b0cbc018ec0ab568a6c9bff712a331417a3ccd8d (patch) | |
tree | 6ba0a3b5bdc3f2b61d6b18d9ba4e762edb87f098 /modules/file | |
parent | cb1f944383477ea46d49326887ababb8f64899dd (diff) | |
download | brdo-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.inc | 24 | ||||
-rw-r--r-- | modules/file/file.module | 2 |
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, |