diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index 5244ced..3dd8b19 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -2476,7 +2476,6 @@ function _install_configure_form($form, &$form_state, &$install_state) {
   $form['admin_account']['account']['pass'] = array(
     '#type' => 'password_confirm',
     '#required' => TRUE,
-    '#size' => 25,
     '#weight' => 0,
   );
 
diff --git a/core/lib/Drupal/Core/Database/Install/Tasks.php b/core/lib/Drupal/Core/Database/Install/Tasks.php
index 41ba2db..e001813 100644
--- a/core/lib/Drupal/Core/Database/Install/Tasks.php
+++ b/core/lib/Drupal/Core/Database/Install/Tasks.php
@@ -214,7 +214,6 @@ public function getFormOptions(array $database) {
       '#type' => 'textfield',
       '#title' => t('Database name'),
       '#default_value' => empty($database['database']) ? '' : $database['database'],
-      '#size' => 45,
       '#required' => TRUE,
       '#states' => array(
         'required' => array(
@@ -227,7 +226,6 @@ public function getFormOptions(array $database) {
       '#type' => 'textfield',
       '#title' => t('Database username'),
       '#default_value' => empty($database['username']) ? '' : $database['username'],
-      '#size' => 45,
       '#required' => TRUE,
       '#states' => array(
         'required' => array(
@@ -241,7 +239,6 @@ public function getFormOptions(array $database) {
       '#title' => t('Database password'),
       '#default_value' => empty($database['password']) ? '' : $database['password'],
       '#required' => FALSE,
-      '#size' => 45,
     );
 
     $form['advanced_options'] = array(
@@ -256,7 +253,6 @@ public function getFormOptions(array $database) {
       '#type' => 'textfield',
       '#title' => t('Table name prefix'),
       '#default_value' => '',
-      '#size' => 45,
       '#description' => t('If more than one application will be sharing this database, a unique table name prefix–such as %prefix–will prevent collisions.', array('%prefix' => $db_prefix)),
       '#weight' => 10,
     );
@@ -265,7 +261,6 @@ public function getFormOptions(array $database) {
       '#type' => 'textfield',
       '#title' => t('Host'),
       '#default_value' => empty($database['host']) ? 'localhost' : $database['host'],
-      '#size' => 45,
       // Hostnames can be 255 characters long.
       '#maxlength' => 255,
       '#required' => TRUE,
diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.php
index c1270c4..3728617 100644
--- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.php
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/NumericItemBase.php
@@ -39,14 +39,12 @@ public function instanceSettingsForm(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => t('Prefix'),
       '#default_value' => $settings['prefix'],
-      '#size' => 60,
       '#description' => t("Define a string that should be prefixed to the value, like '$ ' or '&euro; '. Leave blank for none. Separate singular and plural values with a pipe ('pound|pounds')."),
     );
     $element['suffix'] = array(
       '#type' => 'textfield',
       '#title' => t('Suffix'),
       '#default_value' => $settings['suffix'],
-      '#size' => 60,
       '#description' => t("Define a string that should be suffixed to the value, like ' m', ' kb/s'. Leave blank for none. Separate singular and plural values with a pipe ('pound|pounds')."),
     );
 
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Form/SettingsForm.php b/core/modules/aggregator/lib/Drupal/aggregator/Form/SettingsForm.php
index 29376bc..53652c2 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Form/SettingsForm.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Form/SettingsForm.php
@@ -105,7 +105,6 @@ public function buildForm(array $form, array &$form_state) {
     $form['aggregator_allowed_html_tags'] = array(
       '#type' => 'textfield',
       '#title' => $this->t('Allowed HTML tags'),
-      '#size' => 80,
       '#maxlength' => 255,
       '#default_value' => $config->get('items.allowed_html'),
       '#description' => $this->t('A space-separated list of HTML tags allowed in the content of feed items. Disallowed tags are stripped from the content.'),
diff --git a/core/modules/ban/lib/Drupal/ban/Form/BanAdmin.php b/core/modules/ban/lib/Drupal/ban/Form/BanAdmin.php
index bfaeb7a..e4c71aa 100644
--- a/core/modules/ban/lib/Drupal/ban/Form/BanAdmin.php
+++ b/core/modules/ban/lib/Drupal/ban/Form/BanAdmin.php
@@ -78,7 +78,6 @@ public function buildForm(array $form, array &$form_state, $default_ip = '') {
     $form['ip'] = array(
       '#title' => $this->t('IP address'),
       '#type' => 'textfield',
-      '#size' => 48,
       '#maxlength' => 40,
       '#default_value' => $default_ip,
       '#description' => $this->t('Enter a valid IP address.'),
diff --git a/core/modules/block/lib/Drupal/block/BlockListBuilder.php b/core/modules/block/lib/Drupal/block/BlockListBuilder.php
index 31b3286..acf1b4c 100644
--- a/core/modules/block/lib/Drupal/block/BlockListBuilder.php
+++ b/core/modules/block/lib/Drupal/block/BlockListBuilder.php
@@ -321,7 +321,6 @@ public function buildForm(array $form, array &$form_state) {
       '#type' => 'search',
       '#title' => t('Filter'),
       '#title_display' => 'invisible',
-      '#size' => 30,
       '#placeholder' => t('Filter by block name'),
       '#attributes' => array(
         'class' => array('block-filter-text'),
diff --git a/core/modules/book/lib/Drupal/book/Form/BookAdminEditForm.php b/core/modules/book/lib/Drupal/book/Form/BookAdminEditForm.php
index 41dfad2..1e62c84 100644
--- a/core/modules/book/lib/Drupal/book/Form/BookAdminEditForm.php
+++ b/core/modules/book/lib/Drupal/book/Form/BookAdminEditForm.php
@@ -206,7 +206,6 @@ protected function bookAdminTableTree(array $tree, array &$form) {
           '#type' => 'textfield',
           '#default_value' => $data['link']['title'],
           '#maxlength' => 255,
-          '#size' => 40,
         ),
         'weight' => array(
           '#type' => 'weight',
diff --git a/core/modules/comment/lib/Drupal/comment/CommentFormController.php b/core/modules/comment/lib/Drupal/comment/CommentFormController.php
index ef7c7fd..a868ef7 100644
--- a/core/modules/comment/lib/Drupal/comment/CommentFormController.php
+++ b/core/modules/comment/lib/Drupal/comment/CommentFormController.php
@@ -154,7 +154,6 @@ public function form(array $form, array &$form_state) {
       '#default_value' => $author,
       '#required' => ($this->currentUser->isAnonymous() && $anonymous_contact == COMMENT_ANONYMOUS_MUST_CONTACT),
       '#maxlength' => 60,
-      '#size' => 30,
     );
     if ($is_admin) {
       $form['author']['name']['#title'] = $this->t('Authored by');
@@ -175,7 +174,6 @@ public function form(array $form, array &$form_state) {
       '#default_value' => $comment->getAuthorEmail(),
       '#required' => ($this->currentUser->isAnonymous() && $anonymous_contact == COMMENT_ANONYMOUS_MUST_CONTACT),
       '#maxlength' => 64,
-      '#size' => 30,
       '#description' => $this->t('The content of this field is kept private and will not be shown publicly.'),
       '#access' => $is_admin || ($this->currentUser->isAnonymous() && $anonymous_contact != COMMENT_ANONYMOUS_MAYNOT_CONTACT),
     );
@@ -185,7 +183,6 @@ public function form(array $form, array &$form_state) {
       '#title' => $this->t('Homepage'),
       '#default_value' => $comment->getHomepage(),
       '#maxlength' => 255,
-      '#size' => 30,
       '#access' => $is_admin || ($this->currentUser->isAnonymous() && $anonymous_contact != COMMENT_ANONYMOUS_MAYNOT_CONTACT),
     );
 
@@ -194,7 +191,6 @@ public function form(array $form, array &$form_state) {
       '#type' => 'datetime',
       '#title' => $this->t('Authored on'),
       '#default_value' => $date,
-      '#size' => 20,
       '#access' => $is_admin,
     );
 
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationEntityListBuilder.php b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationEntityListBuilder.php
index 44f5aad..2cc7b51 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationEntityListBuilder.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationEntityListBuilder.php
@@ -46,7 +46,6 @@ public function render() {
     $build['filters']['text'] = array(
       '#type' => 'search',
       '#title' => $this->t('Search'),
-      '#size' => 30,
       '#placeholder' => $filter['placeholder'],
       '#attributes' => array(
         'class' => array('table-filter-text'),
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidgetBase.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidgetBase.php
index 66849a7..13b5144 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidgetBase.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldWidget/AutocompleteWidgetBase.php
@@ -37,7 +37,6 @@ public function settingsForm(array $form, array &$form_state) {
       '#title' => t('Size of textfield'),
       '#default_value' => $this->getSetting('size'),
       '#min' => 1,
-      '#required' => TRUE,
     );
     $element['placeholder'] = array(
       '#type' => 'textfield',
@@ -91,11 +90,13 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
       '#default_value' => implode(', ', $this->getLabels($items, $delta)),
       '#autocomplete_route_name' => 'entity_reference.autocomplete',
       '#autocomplete_route_parameters' => $autocomplete_route_parameters,
-      '#size' => $this->getSetting('size'),
       '#placeholder' => $this->getSetting('placeholder'),
       '#element_validate' => array(array($this, 'elementValidate')),
       '#autocreate_uid' => ($entity instanceof EntityOwnerInterface) ? $entity->getOwnerId() : \Drupal::currentUser()->id(),
     );
+    if ($size = $this->getSetting('size')) {
+      $element['#size'] = $size;
+    }
 
     return array('target_id' => $element);
   }
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php
index 97beb5c..6c0b29d 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldDefaultFormatter.php
@@ -35,7 +35,6 @@ public function settingsForm(array $form, array &$form_state) {
     $element['test_formatter_setting'] = array(
       '#title' => t('Setting'),
       '#type' => 'textfield',
-      '#size' => 20,
       '#default_value' => $this->getSetting('test_formatter_setting'),
       '#required' => TRUE,
     );
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php
index fa4d9a9..5584a8f 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldEmptySettingFormatter.php
@@ -34,7 +34,6 @@ public function settingsForm(array $form, array &$form_state) {
     $element['field_empty_setting'] = array(
       '#title' => t('Setting'),
       '#type' => 'textfield',
-      '#size' => 20,
       '#default_value' => $this->getSetting('field_empty_setting'),
       '#required' => TRUE,
     );
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php
index 87d9553..5b5aa51 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldMultipleFormatter.php
@@ -35,7 +35,6 @@ public function settingsForm(array $form, array &$form_state) {
     $element['test_formatter_setting_multiple'] = array(
       '#title' => t('Setting'),
       '#type' => 'textfield',
-      '#size' => 20,
       '#default_value' => $this->getSetting('test_formatter_setting_multiple'),
       '#required' => TRUE,
     );
diff --git a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php
index 85b97f1..62f1019 100644
--- a/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php
+++ b/core/modules/field/tests/modules/field_test/lib/Drupal/field_test/Plugin/Field/FieldFormatter/TestFieldPrepareViewFormatter.php
@@ -35,7 +35,6 @@ public function settingsForm(array $form, array &$form_state) {
     $element['test_formatter_setting_additional'] = array(
       '#title' => t('Setting'),
       '#type' => 'textfield',
-      '#size' => 20,
       '#default_value' => $this->getSetting('test_formatter_setting_additional'),
       '#required' => TRUE,
     );
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
index bf213a2..e285004 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php
@@ -196,7 +196,6 @@ public function buildForm(array $form, array &$form_state, $entity_type_id = NUL
           '#type' => 'textfield',
           '#title' => $this->t('New field label'),
           '#title_display' => 'invisible',
-          '#size' => 15,
           '#description' => $this->t('Label'),
           '#prefix' => '<div class="label-input"><div class="add-new-placeholder">' . $this->t('Add new field') .'</div>',
           '#suffix' => '</div>',
@@ -208,7 +207,6 @@ public function buildForm(array $form, array &$form_state, $entity_type_id = NUL
           // This field should stay LTR even for RTL languages.
           '#field_prefix' => '<span dir="ltr">' . $field_prefix,
           '#field_suffix' => '</span>&lrm;',
-          '#size' => 15,
           '#description' => $this->t('A unique machine-readable name containing letters, numbers, and underscores.'),
           // Calculate characters depending on the length of the field prefix
           // setting. Maximum length is 32.
@@ -265,7 +263,6 @@ public function buildForm(array $form, array &$form_state, $entity_type_id = NUL
           '#type' => 'textfield',
           '#title' => $this->t('Existing field label'),
           '#title_display' => 'invisible',
-          '#size' => 15,
           '#description' => $this->t('Label'),
           '#attributes' => array('class' => array('label-textfield')),
           '#prefix' => '<div class="label-input"><div class="add-new-placeholder">' . $this->t('Re-use existing field') .'</div>',
diff --git a/core/modules/file/file.module b/core/modules/file/file.module
index 67e5452..7fe61e9 100644
--- a/core/modules/file/file.module
+++ b/core/modules/file/file.module
@@ -59,7 +59,6 @@ function file_element_info() {
     '#progress_message' => NULL,
     '#upload_validators' => array(),
     '#upload_location' => NULL,
-    '#size' => 22,
     '#multiple' => FALSE,
     '#extended' => FALSE,
     '#attached' => array(
@@ -1236,11 +1235,13 @@ function file_managed_file_process($element, &$form_state, $form) {
     '#type' => 'file',
     '#title' => t('Choose a file'),
     '#title_display' => 'invisible',
-    '#size' => $element['#size'],
     '#multiple' => $element['#multiple'],
     '#theme_wrappers' => array(),
     '#weight' => -10,
   );
+  if (isset($element['#size'])) {
+    $element['upload']['#size'] = $element['#size'];
+  }
 
   if (!empty($fids) && $element['#files']) {
     foreach ($element['#files'] as $delta => $file) {
diff --git a/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php b/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
index 8bbf247..ff63bde 100644
--- a/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
+++ b/core/modules/language/lib/Drupal/language/Form/NegotiationBrowserForm.php
@@ -91,7 +91,6 @@ public function buildForm(array $form, array &$form_state) {
         'browser_langcode' => array(
           '#type' => 'textfield',
           '#default_value' => $browser_langcode,
-          '#size' => 20,
           '#required' => TRUE,
         ),
         'drupal_langcode' => array(
@@ -114,7 +113,6 @@ public function buildForm(array $form, array &$form_state) {
       '#title' => $this->t('Browser language code'),
       '#description' => $this->t('Use language codes as <a href="@w3ctags">defined by the W3C</a> for interoperability. <em>Examples: "en", "en-gb" and "zh-hant".</em>', array('@w3ctags' => 'http://www.w3.org/International/articles/language-tags/')),
       '#default_value' => '',
-      '#size' => 20,
     );
     $form['new_mapping']['drupal_langcode'] = array(
       '#type' => 'select',
diff --git a/core/modules/locale/locale.bulk.inc b/core/modules/locale/locale.bulk.inc
index 5f72ad8..b0f7a84 100644
--- a/core/modules/locale/locale.bulk.inc
+++ b/core/modules/locale/locale.bulk.inc
@@ -61,7 +61,6 @@ function locale_translate_import_form($form, &$form_state) {
     '#type' => 'file',
     '#title' => t('Translation file'),
     '#description' => drupal_render($file_description),
-    '#size' => 50,
     '#upload_validators' => $validators,
     '#attributes' => array('class' => array('file-import-input')),
     '#attached' => array(
diff --git a/core/modules/node/lib/Drupal/node/NodeTypeFormController.php b/core/modules/node/lib/Drupal/node/NodeTypeFormController.php
index 7d6bd72..f2ab60a 100644
--- a/core/modules/node/lib/Drupal/node/NodeTypeFormController.php
+++ b/core/modules/node/lib/Drupal/node/NodeTypeFormController.php
@@ -39,7 +39,6 @@ public function form(array $form, array &$form_state) {
       '#default_value' => $type->name,
       '#description' => t('The human-readable name of this content type. This text will be displayed as part of the list on the <em>Add content</em> page. It is recommended that this name begin with a capital letter and contain only letters, numbers, and spaces. This name must be unique.'),
       '#required' => TRUE,
-      '#size' => 30,
     );
 
     $form['type'] = array(
diff --git a/core/modules/node/lib/Drupal/node/Plugin/Action/AssignOwnerNode.php b/core/modules/node/lib/Drupal/node/Plugin/Action/AssignOwnerNode.php
index 2de926c..379d022 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/Action/AssignOwnerNode.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/Action/AssignOwnerNode.php
@@ -106,7 +106,6 @@ public function buildConfigurationForm(array $form, array &$form_state) {
         '#title' => t('Username'),
         '#default_value' => $owner_name,
         '#autocomplete_route_name' => 'user.autocomplete',
-        '#size' => '6',
         '#maxlength' => '60',
         '#description' => $description,
       );
diff --git a/core/modules/node/lib/Drupal/node/Plugin/Search/NodeSearch.php b/core/modules/node/lib/Drupal/node/Plugin/Search/NodeSearch.php
index 7dc09d6..26dc00a 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/Search/NodeSearch.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/Search/NodeSearch.php
@@ -393,19 +393,16 @@ public function searchFormAlter(array &$form, array &$form_state) {
     $form['advanced']['keywords-fieldset']['keywords']['or'] = array(
       '#type' => 'textfield',
       '#title' => t('Containing any of the words'),
-      '#size' => 30,
       '#maxlength' => 255,
     );
     $form['advanced']['keywords-fieldset']['keywords']['phrase'] = array(
       '#type' => 'textfield',
       '#title' => t('Containing the phrase'),
-      '#size' => 30,
       '#maxlength' => 255,
     );
     $form['advanced']['keywords-fieldset']['keywords']['negative'] = array(
       '#type' => 'textfield',
       '#title' => t('Containing none of the words'),
-      '#size' => 30,
       '#maxlength' => 255,
     );
 
diff --git a/core/modules/node/lib/Drupal/node/Plugin/views/wizard/Node.php b/core/modules/node/lib/Drupal/node/Plugin/views/wizard/Node.php
index a5c2e35..e0bcc5a 100644
--- a/core/modules/node/lib/Drupal/node/Plugin/views/wizard/Node.php
+++ b/core/modules/node/lib/Drupal/node/Plugin/views/wizard/Node.php
@@ -297,7 +297,6 @@ protected function buildFilters(&$form, &$form_state) {
           'entity_type' => $this->entityTypeId,
           'field_name' => $tag_field_name,
         ),
-        '#size' => 30,
         '#maxlength' => 1024,
         '#entity_type' => $this->entityTypeId,
         '#field_name' => $tag_field_name,
diff --git a/core/modules/path/path.admin.inc b/core/modules/path/path.admin.inc
index d22fe66..d828bc4 100644
--- a/core/modules/path/path.admin.inc
+++ b/core/modules/path/path.admin.inc
@@ -143,7 +143,6 @@ function path_admin_form($form, &$form_state, $path = array('source' => '', 'ali
     '#title' => t('Existing system path'),
     '#default_value' => $path['source'],
     '#maxlength' => 255,
-    '#size' => 45,
     '#description' => t('Specify the existing path you wish to alias. For example: node/28, forum/1, taxonomy/term/1.'),
     '#field_prefix' => url(NULL, array('absolute' => TRUE)),
     '#required' => TRUE,
@@ -153,7 +152,6 @@ function path_admin_form($form, &$form_state, $path = array('source' => '', 'ali
     '#title' => t('Path alias'),
     '#default_value' => $path['alias'],
     '#maxlength' => 255,
-    '#size' => 45,
     '#description' => t('Specify an alternative path by which this data can be accessed. For example, type "about" when writing an about page. Use a relative path and don\'t add a trailing slash or the URL alias won\'t work.'),
     '#field_prefix' => url(NULL, array('absolute' => TRUE)),
     '#required' => TRUE,
@@ -295,7 +293,6 @@ function path_admin_filter_form($form, &$form_state, $keys = '') {
     '#title_display' => 'invisible',
     '#default_value' => $keys,
     '#maxlength' => 128,
-    '#size' => 25,
   );
   $form['basic']['submit'] = array(
     '#type' => 'submit',
diff --git a/core/modules/search/lib/Drupal/search/Form/SearchBlockForm.php b/core/modules/search/lib/Drupal/search/Form/SearchBlockForm.php
index ad96735..0cd37b5 100644
--- a/core/modules/search/lib/Drupal/search/Form/SearchBlockForm.php
+++ b/core/modules/search/lib/Drupal/search/Form/SearchBlockForm.php
@@ -57,7 +57,6 @@ public function buildForm(array $form, array &$form_state) {
       '#type' => 'search',
       '#title' => $this->t('Search'),
       '#title_display' => 'invisible',
-      '#size' => 15,
       '#default_value' => '',
       '#attributes' => array('title' => $this->t('Enter the terms you wish to search for.')),
     );
diff --git a/core/modules/search/lib/Drupal/search/Form/SearchPageForm.php b/core/modules/search/lib/Drupal/search/Form/SearchPageForm.php
index d817f7c..b560417 100644
--- a/core/modules/search/lib/Drupal/search/Form/SearchPageForm.php
+++ b/core/modules/search/lib/Drupal/search/Form/SearchPageForm.php
@@ -45,7 +45,6 @@ public function form(array $form, array &$form_state) {
       '#type' => 'search',
       '#title' => $this->t('Enter your keywords'),
       '#default_value' => $plugin->getKeywords(),
-      '#size' => 30,
       '#maxlength' => 255,
     );
     // processed_keys is used to coordinate keyword passing between other forms
diff --git a/core/modules/search/lib/Drupal/search/Plugin/views/filter/Search.php b/core/modules/search/lib/Drupal/search/Plugin/views/filter/Search.php
index b65e746..55fac41 100644
--- a/core/modules/search/lib/Drupal/search/Plugin/views/filter/Search.php
+++ b/core/modules/search/lib/Drupal/search/Plugin/views/filter/Search.php
@@ -88,7 +88,6 @@ protected function operatorForm(&$form, &$form_state) {
   protected function valueForm(&$form, &$form_state) {
     $form['value'] = array(
       '#type' => 'textfield',
-      '#size' => 15,
       '#default_value' => $this->value,
       '#attributes' => array('title' => $this->t('Search keywords')),
       '#title' => empty($form_state['exposed']) ? $this->t('Keywords') : '',
diff --git a/core/modules/shortcut/lib/Drupal/shortcut/ShortcutFormController.php b/core/modules/shortcut/lib/Drupal/shortcut/ShortcutFormController.php
index c0053f8..2f90e6f 100644
--- a/core/modules/shortcut/lib/Drupal/shortcut/ShortcutFormController.php
+++ b/core/modules/shortcut/lib/Drupal/shortcut/ShortcutFormController.php
@@ -41,7 +41,6 @@ public function form(array $form, array &$form_state) {
     $form['path'] = array(
       '#type' => 'textfield',
       '#title' => t('Path'),
-      '#size' => 40,
       '#maxlength' => 255,
       '#field_prefix' => $this->url('<front>', array(), array('absolute' => TRUE)),
       '#default_value' => $this->entity->path->value,
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/Form/SimpletestTestForm.php b/core/modules/simpletest/lib/Drupal/simpletest/Form/SimpletestTestForm.php
index 18d7680..01b4a78 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/Form/SimpletestTestForm.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/Form/SimpletestTestForm.php
@@ -37,7 +37,6 @@ public function buildForm(array $form, array &$form_state) {
     $form['filters']['text'] = array(
       '#type' => 'search',
       '#title' => $this->t('Search'),
-      '#size' => 30,
       '#placeholder' => $this->t('Enter test name…'),
       '#attributes' => array(
         'class' => array('table-filter-text'),
diff --git a/core/modules/system/css/system.theme.css b/core/modules/system/css/system.theme.css
index dd03d49..18c6868 100644
--- a/core/modules/system/css/system.theme.css
+++ b/core/modules/system/css/system.theme.css
@@ -86,6 +86,10 @@ h4.label {
 abbr.form-required, abbr.tabledrag-changed, abbr.ajax-changed {
   border-bottom: none;
 }
+[type="date"], [type="email"], [type="file"], [type="password"], [type="search"], [type="tel"], [type="text"], [type="url"] {
+  min-width: 55%;
+  max-width: 100%;
+}
 .form-item input.error,
 .form-item textarea.error,
 .form-item select.error {
diff --git a/core/modules/system/lib/Drupal/system/Form/ModulesListForm.php b/core/modules/system/lib/Drupal/system/Form/ModulesListForm.php
index 7b5d257..f9552a8 100644
--- a/core/modules/system/lib/Drupal/system/Form/ModulesListForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/ModulesListForm.php
@@ -118,7 +118,6 @@ public function buildForm(array $form, array &$form_state) {
     $form['filters']['text'] = array(
       '#type' => 'search',
       '#title' => $this->t('Search'),
-      '#size' => 30,
       '#placeholder' => $this->t('Enter module name'),
       '#attributes' => array(
         'class' => array('table-filter-text'),
diff --git a/core/modules/system/lib/Drupal/system/Form/SiteInformationForm.php b/core/modules/system/lib/Drupal/system/Form/SiteInformationForm.php
index 1a10aaa..22359c0 100644
--- a/core/modules/system/lib/Drupal/system/Form/SiteInformationForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/SiteInformationForm.php
@@ -99,7 +99,6 @@ public function buildForm(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => t('Default front page'),
       '#default_value' => $front_page,
-      '#size' => 40,
       '#description' => t('Optionally, specify a relative URL to display as the front page. Leave blank to display the default front page.'),
       '#field_prefix' => url(NULL, array('absolute' => TRUE)),
     );
@@ -112,7 +111,6 @@ public function buildForm(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => t('Default 403 (access denied) page'),
       '#default_value' => $site_config->get('page.403'),
-      '#size' => 40,
       '#description' => t('This page is displayed when the requested document is denied to the current user. Leave blank to display a generic "access denied" page.'),
       '#field_prefix' => url(NULL, array('absolute' => TRUE)),
     );
@@ -120,7 +118,6 @@ public function buildForm(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => t('Default 404 (not found) page'),
       '#default_value' => $site_config->get('page.404'),
-      '#size' => 40,
       '#description' => t('This page is displayed when no other content matches the requested document. Leave blank to display a generic "page not found" page.'),
       '#field_prefix' => url(NULL, array('absolute' => TRUE)),
     );
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index 2937be2..2a17f2b 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -354,7 +354,6 @@ function system_element_info() {
   );
   $types['textfield'] = array(
     '#input' => TRUE,
-    '#size' => 60,
     '#maxlength' => 128,
     '#autocomplete_route_name' => FALSE,
     '#process' => array('form_process_autocomplete', 'ajax_process_form', 'form_process_pattern', 'form_process_group'),
@@ -364,7 +363,6 @@ function system_element_info() {
   );
   $types['tel'] = array(
     '#input' => TRUE,
-    '#size' => 30,
     '#maxlength' => 128,
     '#autocomplete_route_name' => FALSE,
     '#process' => array('form_process_autocomplete', 'ajax_process_form', 'form_process_pattern'),
@@ -374,7 +372,6 @@ function system_element_info() {
   );
   $types['email'] = array(
     '#input' => TRUE,
-    '#size' => 60,
     '#maxlength' => EMAIL_MAX_LENGTH,
     '#autocomplete_route_name' => FALSE,
     '#process' => array('form_process_autocomplete', 'ajax_process_form', 'form_process_pattern'),
@@ -385,7 +382,6 @@ function system_element_info() {
   );
   $types['url'] = array(
     '#input' => TRUE,
-    '#size' => 60,
     '#maxlength' => 255,
     '#autocomplete_route_name' => FALSE,
     '#process' => array('form_process_autocomplete', 'ajax_process_form', 'form_process_pattern'),
@@ -396,7 +392,6 @@ function system_element_info() {
   );
   $types['search'] = array(
     '#input' => TRUE,
-    '#size' => 60,
     '#maxlength' => 128,
     '#autocomplete_route_name' => FALSE,
     '#process' => array('form_process_autocomplete', 'ajax_process_form'),
@@ -437,7 +432,6 @@ function system_element_info() {
     '#default_value' => NULL,
     '#required' => TRUE,
     '#maxlength' => 64,
-    '#size' => 60,
     '#autocomplete_route_name' => FALSE,
     '#process' => array('form_process_machine_name', 'form_process_autocomplete', 'ajax_process_form'),
     '#element_validate' => array('form_validate_machine_name'),
@@ -447,7 +441,6 @@ function system_element_info() {
   );
   $types['password'] = array(
     '#input' => TRUE,
-    '#size' => 60,
     '#maxlength' => 128,
     '#process' => array('ajax_process_form', 'form_process_pattern'),
     '#pre_render' => array('form_pre_render_password'),
@@ -526,7 +519,6 @@ function system_element_info() {
     '#input' => TRUE,
     '#multiple' => FALSE,
     '#process' => array('form_process_file'),
-    '#size' => 60,
     '#pre_render' => array('form_pre_render_file'),
     '#theme' => 'input__file',
     '#theme_wrappers' => array('form_element'),
diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php
index 749ee44..17a6a3d 100644
--- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php
+++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/EntityTestFormController.php
@@ -25,7 +25,6 @@ public function form(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => t('Name'),
       '#default_value' => $entity->name->value,
-      '#size' => 60,
       '#maxlength' => 128,
       '#required' => TRUE,
       '#weight' => -10,
@@ -35,7 +34,6 @@ public function form(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => 'UID',
       '#default_value' => $entity->user_id->target_id,
-      '#size' => 60,
       '#maxlength' => 128,
       '#required' => TRUE,
       '#weight' => -10,
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldWidget/TaxonomyAutocompleteWidget.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldWidget/TaxonomyAutocompleteWidget.php
index 7c20732..62def76 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldWidget/TaxonomyAutocompleteWidget.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldWidget/TaxonomyAutocompleteWidget.php
@@ -76,11 +76,13 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
         'entity_type' => $items->getEntity()->getEntityTypeId(),
         'field_name' => $this->fieldDefinition->getName(),
       ),
-      '#size' => $this->getSetting('size'),
       '#placeholder' => $this->getSetting('placeholder'),
       '#maxlength' => 1024,
       '#element_validate' => array('taxonomy_autocomplete_validate'),
     );
+    if ($size = $this->getSetting('size')) {
+      $element['#size'] = $size;
+    }
 
     return $element;
   }
diff --git a/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextfieldWidget.php b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextfieldWidget.php
index 35f6957..4c88765 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextfieldWidget.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/Field/FieldWidget/TextfieldWidget.php
@@ -32,6 +32,40 @@ class TextfieldWidget extends StringWidget {
   /**
    * {@inheritdoc}
    */
+  public function settingsForm(array $form, array &$form_state) {
+    $element['size'] = array(
+      '#type' => 'number',
+      '#title' => t('Size of textfield'),
+      '#default_value' => $this->getSetting('size'),
+      '#min' => 1,
+    );
+    $element['placeholder'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Placeholder'),
+      '#default_value' => $this->getSetting('placeholder'),
+      '#description' => t('Text that will be shown inside the field until a value is entered. This hint is usually a sample value or a brief description of the expected format.'),
+    );
+    return $element;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function settingsSummary() {
+    $summary = array();
+
+    $summary[] = t('Textfield size: !size', array('!size' => $this->getSetting('size')));
+    $placeholder = $this->getSetting('placeholder');
+    if (!empty($placeholder)) {
+      $summary[] = t('Placeholder: @placeholder', array('@placeholder' => $placeholder));
+    }
+
+    return $summary;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, array &$form_state) {
     $main_widget = parent::formElement($items, $delta, $element, $form, $form_state);
 
diff --git a/core/modules/user/lib/Drupal/user/AccountFormController.php b/core/modules/user/lib/Drupal/user/AccountFormController.php
index ed4cc07..0104993 100644
--- a/core/modules/user/lib/Drupal/user/AccountFormController.php
+++ b/core/modules/user/lib/Drupal/user/AccountFormController.php
@@ -113,7 +113,6 @@ public function form(array $form, array &$form_state) {
     if (!$register) {
       $form['account']['pass'] = array(
         '#type' => 'password_confirm',
-        '#size' => 25,
         '#description' => $this->t('To change the current user password, enter the new password in both fields.'),
       );
 
@@ -143,7 +142,6 @@ public function form(array $form, array &$form_state) {
         $form['account']['current_pass'] = array(
           '#type' => 'password',
           '#title' => $this->t('Current password'),
-          '#size' => 25,
           '#access' => !empty($protected_values),
           '#description' => $current_pass_description,
           '#weight' => -5,
@@ -160,7 +158,6 @@ public function form(array $form, array &$form_state) {
     elseif (!$config->get('verify_mail') || $admin) {
       $form['account']['pass'] = array(
         '#type' => 'password_confirm',
-        '#size' => 25,
         '#description' => $this->t('Provide a password for the new account in both fields.'),
         '#required' => TRUE,
       );
diff --git a/core/modules/user/lib/Drupal/user/Form/UserLoginForm.php b/core/modules/user/lib/Drupal/user/Form/UserLoginForm.php
index dcc6845..322b1b8 100644
--- a/core/modules/user/lib/Drupal/user/Form/UserLoginForm.php
+++ b/core/modules/user/lib/Drupal/user/Form/UserLoginForm.php
@@ -81,7 +81,6 @@ public function buildForm(array $form, array &$form_state) {
     $form['name'] = array(
       '#type' => 'textfield',
       '#title' => $this->t('Username'),
-      '#size' => 60,
       '#maxlength' => USERNAME_MAX_LENGTH,
       '#description' => $this->t('Enter your @s username.', array('@s' => $this->config('system.site')->get('name'))),
       '#required' => TRUE,
@@ -96,7 +95,6 @@ public function buildForm(array $form, array &$form_state) {
     $form['pass'] = array(
       '#type' => 'password',
       '#title' => $this->t('Password'),
-      '#size' => 60,
       '#description' => $this->t('Enter the password that accompanies your username.'),
       '#required' => TRUE,
     );
diff --git a/core/modules/user/lib/Drupal/user/Form/UserPasswordForm.php b/core/modules/user/lib/Drupal/user/Form/UserPasswordForm.php
index f7f7cfe..c941dd5 100644
--- a/core/modules/user/lib/Drupal/user/Form/UserPasswordForm.php
+++ b/core/modules/user/lib/Drupal/user/Form/UserPasswordForm.php
@@ -74,7 +74,6 @@ public function buildForm(array $form, array &$form_state) {
     $form['name'] = array(
       '#type' => 'textfield',
       '#title' => $this->t('Username or e-mail address'),
-      '#size' => 60,
       '#maxlength' => max(USERNAME_MAX_LENGTH, EMAIL_MAX_LENGTH),
       '#required' => TRUE,
       '#attributes' => array(
diff --git a/core/modules/user/lib/Drupal/user/Plugin/Block/UserLoginBlock.php b/core/modules/user/lib/Drupal/user/Plugin/Block/UserLoginBlock.php
index c087889..02724a0 100644
--- a/core/modules/user/lib/Drupal/user/Plugin/Block/UserLoginBlock.php
+++ b/core/modules/user/lib/Drupal/user/Plugin/Block/UserLoginBlock.php
@@ -36,8 +36,6 @@ public function build() {
     unset($form['name']['#attributes']['autofocus']);
     unset($form['name']['#description']);
     unset($form['pass']['#description']);
-    $form['name']['#size'] = 15;
-    $form['pass']['#size'] = 15;
     $form['#action'] = url(current_path(), array('query' => drupal_get_destination(), 'external' => FALSE));
     // Build action links.
     $items = array();
diff --git a/core/modules/user/lib/Drupal/user/RoleFormController.php b/core/modules/user/lib/Drupal/user/RoleFormController.php
index 0cf8cd4..0914568 100644
--- a/core/modules/user/lib/Drupal/user/RoleFormController.php
+++ b/core/modules/user/lib/Drupal/user/RoleFormController.php
@@ -24,7 +24,6 @@ public function form(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => $this->t('Role name'),
       '#default_value' => $entity->label(),
-      '#size' => 30,
       '#required' => TRUE,
       '#maxlength' => 64,
       '#description' => $this->t('The name for this role. Example: "Moderator", "Editorial board", "Site architect".'),
@@ -34,7 +33,6 @@ public function form(array $form, array &$form_state) {
       '#default_value' => $entity->id(),
       '#required' => TRUE,
       '#disabled' => !$entity->isNew(),
-      '#size' => 30,
       '#maxlength' => 64,
       '#machine_name' => array(
         'exists' => 'user_role_load',
diff --git a/core/modules/user/tests/modules/user_form_test/lib/Drupal/user_form_test/Form/TestCurrentPassword.php b/core/modules/user/tests/modules/user_form_test/lib/Drupal/user_form_test/Form/TestCurrentPassword.php
index 1acbea5..080244c 100644
--- a/core/modules/user/tests/modules/user_form_test/lib/Drupal/user_form_test/Form/TestCurrentPassword.php
+++ b/core/modules/user/tests/modules/user_form_test/lib/Drupal/user_form_test/Form/TestCurrentPassword.php
@@ -40,7 +40,6 @@ public function buildForm(array $form, array &$form_state, UserInterface $user =
     $form['current_pass'] = array(
       '#type' => 'password',
       '#title' => $this->t('Current password'),
-      '#size' => 25,
       '#description' => $this->t('Enter your current password'),
     );
 
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/argument/ArgumentPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/argument/ArgumentPluginBase.php
index be1a69c..7925b67 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/argument/ArgumentPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/argument/ArgumentPluginBase.php
@@ -181,7 +181,6 @@ public function buildOptionsForm(&$form, &$form_state) {
     $form['exception']['value'] = array(
       '#type' => 'textfield',
       '#title' => t('Exception value'),
-      '#size' => 20,
       '#default_value' => $this->options['exception']['value'],
       '#description' => t('If this value is received, the filter will be ignored; i.e, "all values"'),
     );
@@ -194,7 +193,6 @@ public function buildOptionsForm(&$form, &$form_state) {
       '#type' => 'textfield',
       '#title' => t('Override title'),
       '#title_display' => 'invisible',
-      '#size' => 20,
       '#default_value' => $this->options['exception']['title'],
       '#description' => t('Override the view and other argument titles. Use "%1" for the first argument, "%2" for the second, etc.'),
       '#states' => array(
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
index b18fff3..c70b81c 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
@@ -1395,7 +1395,6 @@ public function buildOptionsForm(&$form, &$form_state) {
           '#title' => t('Machine name of the display'),
           '#default_value' => !empty($this->display['new_id']) ? $this->display['new_id'] : $this->display['id'],
           '#required' => TRUE,
-          '#size' => 64,
         );
         break;
       case 'display_title':
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/filter/Equality.php b/core/modules/views/lib/Drupal/views/Plugin/views/filter/Equality.php
index 22707f8..db2a362 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/filter/Equality.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/filter/Equality.php
@@ -36,7 +36,6 @@ protected function valueForm(&$form, &$form_state) {
     $form['value'] = array(
       '#type' => 'textfield',
       '#title' => t('Value'),
-      '#size' => 30,
       '#default_value' => $this->value,
     );
 
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php
index 042b8a0..50793d1 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php
@@ -516,14 +516,12 @@ public function buildExposeForm(&$form, &$form_state) {
       '#type' => 'textfield',
       '#default_value' => $this->options['expose']['label'],
       '#title' => t('Label'),
-      '#size' => 40,
     );
 
     $form['expose']['description'] = array(
       '#type' => 'textfield',
       '#default_value' => $this->options['expose']['description'],
       '#title' => t('Description'),
-      '#size' => 60,
     );
 
     if (!empty($form['operator']['#type'])) {
@@ -543,7 +541,6 @@ public function buildExposeForm(&$form, &$form_state) {
         '#type' => 'textfield',
         '#default_value' => $this->options['expose']['operator_id'],
         '#title' => t('Operator identifier'),
-        '#size' => 40,
         '#description' => t('This will appear in the URL after the ? to identify this operator.'),
         '#states' => array(
           'visible' => array(
@@ -592,7 +589,6 @@ public function buildExposeForm(&$form, &$form_state) {
       '#type' => 'textfield',
       '#default_value' => $this->options['expose']['identifier'],
       '#title' => t('Filter identifier'),
-      '#size' => 40,
       '#description' => t('This will appear in the URL after the ? to identify this filter. Cannot be blank.'),
     );
   }
@@ -844,20 +840,17 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) {
       '#type' => 'textfield',
       '#default_value' => $identifier,
       '#title' => t('Filter identifier'),
-      '#size' => 40,
       '#description' => t('This will appear in the URL after the ? to identify this filter. Cannot be blank.'),
     );
     $form['group_info']['label'] = array(
       '#type' => 'textfield',
       '#default_value' => $this->options['group_info']['label'],
       '#title' => t('Label'),
-      '#size' => 40,
     );
     $form['group_info']['description'] = array(
       '#type' => 'textfield',
       '#default_value' => $this->options['group_info']['description'],
       '#title' => t('Description'),
-      '#size' => 60,
     );
     $form['group_info']['optional'] = array(
       '#type' => 'checkbox',
@@ -898,14 +891,12 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) {
       '#type' => 'textfield',
       '#default_value' => $identifier,
       '#title' => t('Filter identifier'),
-      '#size' => 40,
       '#description' => t('This will appear in the URL after the ? to identify this filter. Cannot be blank.'),
     );
     $form['group_info']['label'] = array(
       '#type' => 'textfield',
       '#default_value' => $this->options['group_info']['label'],
       '#title' => t('Label'),
-      '#size' => 40,
     );
     $form['group_info']['optional'] = array(
       '#type' => 'checkbox',
@@ -1012,7 +1003,6 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) {
           '#title' => t('Label'),
           '#title_display' => 'invisible',
           '#type' => 'textfield',
-          '#size' => 20,
           '#default_value' => $default_title,
         ),
         'operator' => $row['operator'],
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/filter/Numeric.php b/core/modules/views/lib/Drupal/views/Plugin/views/filter/Numeric.php
index 230a7de..83b56d7 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/filter/Numeric.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/filter/Numeric.php
@@ -167,7 +167,6 @@ protected function valueForm(&$form, &$form_state) {
       $form['value']['value'] = array(
         '#type' => 'textfield',
         '#title' => empty($form_state['exposed']) ? t('Value') : '',
-        '#size' => 30,
         '#default_value' => $this->value['value'],
       );
       // Setup #states for all operators with one value.
@@ -186,7 +185,6 @@ protected function valueForm(&$form, &$form_state) {
       $form['value'] = array(
         '#type' => 'textfield',
         '#title' => empty($form_state['exposed']) ? t('Value') : '',
-        '#size' => 30,
         '#default_value' => $this->value['value'],
       );
       if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
@@ -198,13 +196,11 @@ protected function valueForm(&$form, &$form_state) {
       $form['value']['min'] = array(
         '#type' => 'textfield',
         '#title' => empty($form_state['exposed']) ? t('Min') : '',
-        '#size' => 30,
         '#default_value' => $this->value['min'],
       );
       $form['value']['max'] = array(
         '#type' => 'textfield',
         '#title' => empty($form_state['exposed']) ? t('And max') : t('And'),
-        '#size' => 30,
         '#default_value' => $this->value['max'],
       );
       if ($which == 'all') {
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/filter/String.php b/core/modules/views/lib/Drupal/views/Plugin/views/filter/String.php
index ec66ec2..4448940 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/filter/String.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/filter/String.php
@@ -208,7 +208,6 @@ protected function valueForm(&$form, &$form_state) {
       $form['value'] = array(
         '#type' => 'textfield',
         '#title' => t('Value'),
-        '#size' => 30,
         '#default_value' => $this->value,
       );
       if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/sort/SortPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/sort/SortPluginBase.php
index 3273b2b..474d8ca 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/sort/SortPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/sort/SortPluginBase.php
@@ -199,7 +199,6 @@ public function buildExposeForm(&$form, &$form_state) {
       '#default_value' => $this->options['expose']['label'],
       '#title' => t('Label'),
       '#required' => TRUE,
-      '#size' => 40,
       '#weight' => -1,
    );
   }
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/style/HtmlList.php b/core/modules/views/lib/Drupal/views/Plugin/views/style/HtmlList.php
index 9d18903..28a4644 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/style/HtmlList.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/style/HtmlList.php
@@ -64,14 +64,12 @@ public function buildOptionsForm(&$form, &$form_state) {
       '#title' => t('Wrapper class'),
       '#description' => t('The class to provide on the wrapper, outside the list.'),
       '#type' => 'textfield',
-      '#size' => '30',
       '#default_value' => $this->options['wrapper_class'],
     );
     $form['class'] = array(
       '#title' => t('List class'),
       '#description' => t('The class to provide on the list element itself.'),
       '#type' => 'textfield',
-      '#size' => '30',
       '#default_value' => $this->options['class'],
     );
   }
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/ViewAddFormController.php b/core/modules/views_ui/lib/Drupal/views_ui/ViewAddFormController.php
index 1f0b23b..b01db39 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/ViewAddFormController.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/ViewAddFormController.php
@@ -68,7 +68,6 @@ public function form(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => $this->t('View name'),
       '#required' => TRUE,
-      '#size' => 32,
       '#default_value' => '',
       '#maxlength' => 255,
     );
@@ -90,7 +89,6 @@ public function form(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => $this->t('Provide description'),
       '#title_display' => 'invisible',
-      '#size' => 64,
       '#default_value' => '',
       '#states' => array(
         'visible' => array(
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/ViewCloneFormController.php b/core/modules/views_ui/lib/Drupal/views_ui/ViewCloneFormController.php
index f03eda4..3ce22ce 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/ViewCloneFormController.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/ViewCloneFormController.php
@@ -31,7 +31,6 @@ public function form(array $form, array &$form_state) {
       '#type' => 'textfield',
       '#title' => $this->t('View name'),
       '#required' => TRUE,
-      '#size' => 32,
       '#maxlength' => 255,
       '#default_value' => $this->t('Clone of @label', array('@label' => $this->entity->label())),
     );
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/ViewListBuilder.php b/core/modules/views_ui/lib/Drupal/views_ui/ViewListBuilder.php
index 36f20c3..4adca7c 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/ViewListBuilder.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/ViewListBuilder.php
@@ -181,7 +181,6 @@ public function render() {
     $list['filters']['text'] = array(
       '#type' => 'search',
       '#title' => $this->t('Search'),
-      '#size' => 30,
       '#placeholder' => $this->t('Enter view name'),
       '#attributes' => array(
         'class' => array('views-filter-text'),
