diff --git a/lib/internal/Magento/Framework/Data/Form/Element/Textarea.php b/lib/internal/Magento/Framework/Data/Form/Element/Textarea.php
index 724a609189ba9022ed27595273eb7999dd21f0af..ebc4eebec32ae56c39fa39b7befd3f49a229d6d9 100644
--- a/lib/internal/Magento/Framework/Data/Form/Element/Textarea.php
+++ b/lib/internal/Magento/Framework/Data/Form/Element/Textarea.php
@@ -13,8 +13,28 @@ namespace Magento\Framework\Data\Form\Element;
 
 use Magento\Framework\Escaper;
 
+/**
+ * @method Textarea setExtType($extType)
+ * @method mixed getCols()
+ * @method Textarea setCols($cols)
+ * @method mixed getRows()
+ * @method Textarea setRows($rows)
+ */
 class Textarea extends AbstractElement
 {
+    /**
+     * default number of rows
+     *
+     * @var int
+     */
+    const DEFAULT_ROWS = 2;
+    /**
+     * default number of cols
+     *
+     * @var int
+     */
+    const DEFAULT_COLS = 15;
+
     /**
      * @param Factory $factoryElement
      * @param CollectionFactory $factoryCollection
@@ -30,8 +50,12 @@ class Textarea extends AbstractElement
         parent::__construct($factoryElement, $factoryCollection, $escaper, $data);
         $this->setType('textarea');
         $this->setExtType('textarea');
-        $this->setRows(2);
-        $this->setCols(15);
+        if (!$this->getRows()) {
+            $this->setRows(self::DEFAULT_ROWS);
+        }
+        if (!$this->getCols()) {
+            $this->setCols(self::DEFAULT_COLS);
+        }
     }
 
     /**
@@ -66,8 +90,8 @@ class Textarea extends AbstractElement
     {
         $this->addClass('textarea');
         $html = '<textarea id="' . $this->getHtmlId() . '" name="' . $this->getName() . '" ' . $this->serialize(
-            $this->getHtmlAttributes()
-        ) . $this->_getUiId() . ' >';
+                $this->getHtmlAttributes()
+            ) . $this->_getUiId() . ' >';
         $html .= $this->getEscapedValue();
         $html .= "</textarea>";
         $html .= $this->getAfterElementHtml();