diff --git a/markdownify/__init__.py b/markdownify/__init__.py
index b67c32b..cab4f36 100644
--- a/markdownify/__init__.py
+++ b/markdownify/__init__.py
@@ -369,6 +369,12 @@ def convert_style(self, el, text, convert_as_inline):
def convert_table(self, el, text, convert_as_inline):
return '\n\n' + text + '\n'
+ def convert_caption(self, el, text, convert_as_inline):
+ return text + '\n'
+
+ def convert_figcaption(self, el, text, convert_as_inline):
+ return '\n\n' + text + '\n\n'
+
def convert_td(self, el, text, convert_as_inline):
return ' ' + text.strip().replace("\n", " ") + ' |'
diff --git a/tests/test_conversions.py b/tests/test_conversions.py
index ae56837..1e685f3 100644
--- a/tests/test_conversions.py
+++ b/tests/test_conversions.py
@@ -74,6 +74,11 @@ def test_br():
assert md('a
b
c', newline_style=BACKSLASH) == 'a\\\nb\\\nc'
+def test_caption():
+ assert md('TEXT') == 'TEXT\n\nCaption\n\nSPAN'
+ assert md('TEXT') == 'SPAN\n\nCaption\n\nTEXT'
+
+
def test_code():
inline_tests('code', '`')
assert md('*this_should_not_escape*
') == '`*this_should_not_escape*`'
diff --git a/tests/test_tables.py b/tests/test_tables.py
index ebbb146..9be876d 100644
--- a/tests/test_tables.py
+++ b/tests/test_tables.py
@@ -201,6 +201,14 @@
"""
+table_with_caption = """TEXT
Firstname | +Lastname | +Age | +