diff --git a/CHANGELOG.md b/CHANGELOG.md
index 26a3d559f..8bcfb375d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+## 0.16.7
+
+### Enhancements
+- **Add image_alt_mode to partition_html** Adds an `image_alt_mode` parameter to `partition_html()` to control how alt text is extracted from images in HTML documents. The parameter can be set to `to_text` to extract alt text as text from ![]() html tags
+
+### Features
+
+### Fixes
+
 ## 0.16.6
 
 ### Enhancements
diff --git a/test_unstructured/documents/html_files/example_with_alternative_text.html b/test_unstructured/documents/html_files/example_with_alternative_text.html
new file mode 100644
index 000000000..64cbf2f60
--- /dev/null
+++ b/test_unstructured/documents/html_files/example_with_alternative_text.html
@@ -0,0 +1,8 @@
+
 html tags
+
+### Features
+
+### Fixes
+
 ## 0.16.6
 
 ### Enhancements
diff --git a/test_unstructured/documents/html_files/example_with_alternative_text.html b/test_unstructured/documents/html_files/example_with_alternative_text.html
new file mode 100644
index 000000000..64cbf2f60
--- /dev/null
+++ b/test_unstructured/documents/html_files/example_with_alternative_text.html
@@ -0,0 +1,8 @@
+
+ 
+   
+ 
+
diff --git a/test_unstructured/documents/test_ontology_to_unstructured_parsing.py b/test_unstructured/documents/test_ontology_to_unstructured_parsing.py
index 72dec7d02..f489be036 100644
--- a/test_unstructured/documents/test_ontology_to_unstructured_parsing.py
+++ b/test_unstructured/documents/test_ontology_to_unstructured_parsing.py
@@ -181,6 +181,10 @@ def test_parsed_ontology_can_be_serialized_from_json(json_file_path):
     [
         ("html_files/example.html", "unstructured_json_output/example.json"),
         ("html_files/example_full_doc.html", "unstructured_json_output/example_full_doc.json"),
+        (
+            "html_files/example_with_alternative_text.html",
+            "unstructured_json_output/example_with_alternative_text.json",
+        ),
         ("html_files/three_tables.html", "unstructured_json_output/three_tables.json"),
         (
             "html_files/example_with_inline_fields.html",
@@ -191,13 +195,13 @@ def test_parsed_ontology_can_be_serialized_from_json(json_file_path):
 def test_parsed_ontology_can_be_serialized_from_html(html_file_path, json_file_path):
     html_file_path = Path(__file__).parent / html_file_path
     json_file_path = Path(__file__).parent / json_file_path
-
     expected_json_elements = elements_from_json(str(json_file_path))
     html_code = html_file_path.read_text()
 
     predicted_elements = partition_html(
         text=html_code, html_parser_version="v2", unique_element_ids=True
     )
+
     assert len(expected_json_elements) == len(predicted_elements)
 
     for i in range(len(expected_json_elements)):
diff --git a/test_unstructured/documents/unstructured_json_output/example_with_alternative_text.json b/test_unstructured/documents/unstructured_json_output/example_with_alternative_text.json
new file mode 100644
index 000000000..f6c32707e
--- /dev/null
+++ b/test_unstructured/documents/unstructured_json_output/example_with_alternative_text.json
@@ -0,0 +1,62 @@
+[
+    {
+        "element_id": "3a6b156a81764e17be128264241f8136",
+        "metadata": {
+            "category_depth": 0,
+            "filetype": "text/html",
+            "languages": [
+                "eng"
+            ],
+            "page_number": 1,
+            "parent_id": "897a8a47377c4ad6aab839a929879537",
+            "text_as_html": ""
+        },
+        "text": "",
+        "type": "UncategorizedText"
+    },
+    {
+        "element_id": "6135aeb6-9558-46e2-9da4-473a74db3e9d",
+        "metadata": {
+            "category_depth": 1,
+            "filetype": "text/html",
+            "languages": [
+                "eng"
+            ],
+            "page_number": 1,
+            "parent_id": "3a6b156a81764e17be128264241f8136",
+            "text_as_html": ""
+        },
+        "text": "",
+        "type": "UncategorizedText"
+    },
+    {
+        "element_id": "33d66969-b274-4f88-abaa-e7f258b1595f",
+        "metadata": {
+            "category_depth": 2,
+            "filetype": "text/html",
+            "languages": [
+                "eng"
+            ],
+            "page_number": 1,
+            "parent_id": "6135aeb6-9558-46e2-9da4-473a74db3e9d",
+            "text_as_html": "![\"New]() "
+        },
+        "text": "New York logo",
+        "type": "Image"
+    },
+    {
+        "element_id": "40c32fd8-9a02-42b8-a587-884293881090",
+        "metadata": {
+            "category_depth": 2,
+            "filetype": "text/html",
+            "languages": [
+                "eng"
+            ],
+            "page_number": 1,
+            "parent_id": "6135aeb6-9558-46e2-9da4-473a74db3e9d",
+            "text_as_html": "
"
+        },
+        "text": "New York logo",
+        "type": "Image"
+    },
+    {
+        "element_id": "40c32fd8-9a02-42b8-a587-884293881090",
+        "metadata": {
+            "category_depth": 2,
+            "filetype": "text/html",
+            "languages": [
+                "eng"
+            ],
+            "page_number": 1,
+            "parent_id": "6135aeb6-9558-46e2-9da4-473a74db3e9d",
+            "text_as_html": "![\"A]() "
+        },
+        "text": "A line graph showing the comparison of 5 year cumulative total return for stocks",
+        "type": "Image"
+    }
+]
\ No newline at end of file
diff --git a/test_unstructured/partition/html/test_html_to_unstructured_and_back_parsing.py b/test_unstructured/partition/html/test_html_to_unstructured_and_back_parsing.py
index a3edcfc02..f4bc09d54 100644
--- a/test_unstructured/partition/html/test_html_to_unstructured_and_back_parsing.py
+++ b/test_unstructured/partition/html/test_html_to_unstructured_and_back_parsing.py
@@ -555,3 +555,21 @@ def test_inline_elements_are_squeezed_when_text_wrapped_into_paragraphs():
     assert len(unstructured_elements) == 2
     assert isinstance(unstructured_elements[0], Text)
     assert isinstance(unstructured_elements[1], NarrativeText)
+
+
+def test_alternate_text_from_image_is_passed():
+    # language=HTML
+    input_html = """
+
"
+        },
+        "text": "A line graph showing the comparison of 5 year cumulative total return for stocks",
+        "type": "Image"
+    }
+]
\ No newline at end of file
diff --git a/test_unstructured/partition/html/test_html_to_unstructured_and_back_parsing.py b/test_unstructured/partition/html/test_html_to_unstructured_and_back_parsing.py
index a3edcfc02..f4bc09d54 100644
--- a/test_unstructured/partition/html/test_html_to_unstructured_and_back_parsing.py
+++ b/test_unstructured/partition/html/test_html_to_unstructured_and_back_parsing.py
@@ -555,3 +555,21 @@ def test_inline_elements_are_squeezed_when_text_wrapped_into_paragraphs():
     assert len(unstructured_elements) == 2
     assert isinstance(unstructured_elements[0], Text)
     assert isinstance(unstructured_elements[1], NarrativeText)
+
+
+def test_alternate_text_from_image_is_passed():
+    # language=HTML
+    input_html = """
+    
+    
+        
+            | Example image nested in the table:+ | + | 
+    
+    
+        

+    
+        
+             +
+        
+    
.
-
     Returns:
         OntologyElement: The parsed Element object.
 
@@ -352,7 +355,6 @@ def parse_html_to_ontology_element(
     Args:
         soup (Tag): The BeautifulSoup Tag object to be converted.
         recursion_depth (int): Flag to control limit of recursion depth.
-
     Returns:
         OntologyElement: The converted OntologyElement object.
     """