diff --git a/docs/data/joy/components/textarea/TextareaRef.js b/docs/data/joy/components/textarea/TextareaRef.js
new file mode 100644
index 00000000000000..886f0fcebd048e
--- /dev/null
+++ b/docs/data/joy/components/textarea/TextareaRef.js
@@ -0,0 +1,22 @@
+import * as React from 'react';
+import Button from '@mui/joy/Button';
+import Textarea from '@mui/joy/Textarea';
+import Stack from '@mui/joy/Stack';
+
+export default function TextareaRef() {
+ const textareaRef = React.useRef(null);
+
+ const handleTextareaFocus = () => {
+ textareaRef.current?.focus();
+ };
+
+ return (
+
+
+
+
+ );
+}
diff --git a/docs/data/joy/components/textarea/TextareaRef.tsx b/docs/data/joy/components/textarea/TextareaRef.tsx
new file mode 100644
index 00000000000000..f4791853a96236
--- /dev/null
+++ b/docs/data/joy/components/textarea/TextareaRef.tsx
@@ -0,0 +1,22 @@
+import * as React from 'react';
+import Button from '@mui/joy/Button';
+import Textarea from '@mui/joy/Textarea';
+import Stack from '@mui/joy/Stack';
+
+export default function TextareaRef() {
+ const textareaRef = React.useRef(null);
+
+ const handleTextareaFocus = () => {
+ textareaRef.current?.focus();
+ };
+
+ return (
+
+
+
+
+ );
+}
diff --git a/docs/data/joy/components/textarea/TextareaRef.tsx.preview b/docs/data/joy/components/textarea/TextareaRef.tsx.preview
new file mode 100644
index 00000000000000..d71cf52732173c
--- /dev/null
+++ b/docs/data/joy/components/textarea/TextareaRef.tsx.preview
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/docs/data/joy/components/textarea/textarea.md b/docs/data/joy/components/textarea/textarea.md
index 06a8652a80dacd..7f0649b29a51c8 100644
--- a/docs/data/joy/components/textarea/textarea.md
+++ b/docs/data/joy/components/textarea/textarea.md
@@ -115,6 +115,12 @@ It's usually more common to see textarea components using decorators at the top
{{"demo": "TextareaDecorators.js"}}
+### HTML textarea ref
+
+Use the `slotProps.textarea` attribute to pass props to the `ref` and other [supported HTML attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attributes) to the textarea element.
+
+{{"demo": "TextareaRef.js"}}
+
## Accessibility
In order for the textarea to be accessible, **it should be linked to a label**.