Loading core/modules/file/src/Element/ManagedFile.php +5 −0 Original line number Diff line number Diff line Loading @@ -320,6 +320,11 @@ public static function processManagedFile(&$element, FormStateInterface $form_st '#weight' => -10, '#error_no_message' => TRUE, ]; if (!empty($element['#description'])) { $element['upload']['#attributes']['aria-describedby'] = $element['#id'] . '--description'; } if (!empty($element['#accept'])) { $element['upload']['#attributes'] = ['accept' => $element['#accept']]; } Loading core/modules/file/tests/file_module_test/src/Form/FileModuleTestForm.php +1 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $tree = T $form['nested']['file'] = [ '#type' => 'managed_file', '#title' => $this->t('Managed <em>@type</em>', ['@type' => 'file & butter']), '#description' => $this->t('Upload a <em>@type</em> file', ['@type' => 'file & butter']), '#upload_location' => 'public://test', '#progress_message' => $this->t('Processing...'), '#extended' => (bool) $extended, Loading core/modules/file/tests/src/Functional/FileManagedFileElementTest.php +8 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ namespace Drupal\Tests\file\Functional; use Drupal\Component\Utility\Html; use Drupal\file\Entity\File; /** Loading Loading @@ -40,8 +41,14 @@ public function testManagedFile(): void { $input_base_name = $tree ? 'nested_file' : 'file'; $file_field_name = $multiple ? 'files[' . $input_base_name . '][]' : 'files[' . $input_base_name . ']'; // Submit without a file. $this->drupalGet($path); // Ensure the aria-describedby relationship works as expected. $input_id = Html::getId('edit_' . $input_base_name); $this->assertSession()->elementExists('css', '#' . $input_id . '--description'); $this->assertSession()->elementExists('css', '[aria-describedby="' . $input_id . '--description"]'); // Submit without a file. $this->submitForm([], 'Save'); $this->assertSession()->pageTextContains("The file ids are ."); Loading Loading
core/modules/file/src/Element/ManagedFile.php +5 −0 Original line number Diff line number Diff line Loading @@ -320,6 +320,11 @@ public static function processManagedFile(&$element, FormStateInterface $form_st '#weight' => -10, '#error_no_message' => TRUE, ]; if (!empty($element['#description'])) { $element['upload']['#attributes']['aria-describedby'] = $element['#id'] . '--description'; } if (!empty($element['#accept'])) { $element['upload']['#attributes'] = ['accept' => $element['#accept']]; } Loading
core/modules/file/tests/file_module_test/src/Form/FileModuleTestForm.php +1 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $tree = T $form['nested']['file'] = [ '#type' => 'managed_file', '#title' => $this->t('Managed <em>@type</em>', ['@type' => 'file & butter']), '#description' => $this->t('Upload a <em>@type</em> file', ['@type' => 'file & butter']), '#upload_location' => 'public://test', '#progress_message' => $this->t('Processing...'), '#extended' => (bool) $extended, Loading
core/modules/file/tests/src/Functional/FileManagedFileElementTest.php +8 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ namespace Drupal\Tests\file\Functional; use Drupal\Component\Utility\Html; use Drupal\file\Entity\File; /** Loading Loading @@ -40,8 +41,14 @@ public function testManagedFile(): void { $input_base_name = $tree ? 'nested_file' : 'file'; $file_field_name = $multiple ? 'files[' . $input_base_name . '][]' : 'files[' . $input_base_name . ']'; // Submit without a file. $this->drupalGet($path); // Ensure the aria-describedby relationship works as expected. $input_id = Html::getId('edit_' . $input_base_name); $this->assertSession()->elementExists('css', '#' . $input_id . '--description'); $this->assertSession()->elementExists('css', '[aria-describedby="' . $input_id . '--description"]'); // Submit without a file. $this->submitForm([], 'Save'); $this->assertSession()->pageTextContains("The file ids are ."); Loading