diff --git a/mne/report.py b/mne/report.py
index a8e0d21a6..892aab074 100644
--- a/mne/report.py
+++ b/mne/report.py
@@ -554,7 +554,12 @@ image_template = Template(u"""
     {{if comment is not None}}
         <br><br>
         <div style="text-align:center;">
-            {{comment}}
+            <style>
+                p.test {word-wrap: break-word;}
+            </style>
+            <p class="test">
+                {{comment}}
+            </p>
         </div>
     {{endif}}
 {{else}}
@@ -698,10 +703,16 @@ class Report(object):
         if not isinstance(captions, (list, tuple)):
             captions = [captions]
         if not isinstance(comments, (list, tuple)):
-            comments = [comments]
-        if not len(items) == len(captions):
-            raise ValueError('Captions and report items must have the same'
-                             ' length.')
+            if comments is None:
+                comments = [comments] * len(captions)
+            else:
+                comments = [comments]
+        if len(comments) != len(items):
+            raise ValueError('Comments and report items must have the same '
+                             'length or comments should be None.')
+        elif len(captions) != len(items):
+            raise ValueError('Captions and report items must have the same '
+                             'length.')
 
         # Book-keeping of section names
         if section not in self.sections:

BUG: Adding more than one figure to Report is broken
If a call to `add_figs_to_section` is made with a list of figures, only the first one is added.

In this example, only the first figure appears on the report.

```Python
import numpy as np
import matplotlib.pyplot as plt
from mne.report import Report

r = Report('test')

fig1 = plt.figure()
plt.plot([1, 2], [1, 1])
fig2 = plt.figure()
plt.plot([1, 2], [2, 2])

r.add_figs_to_section([fig1, fig2], section='ts', captions=['fig1', 'fig2'])

r.save('test.html', overwrite=True)
```
diff --git a/mne/tests/test_report.py b/mne/tests/test_report.py
index 500f408b4..dd0d02ffe 100644
--- a/mne/tests/test_report.py
+++ b/mne/tests/test_report.py
@@ -212,4 +212,21 @@ def test_add_htmls_to_section():
     assert_equal(html, html_compare)
 
 
+def test_validate_input():
+    report = Report()
+    items = ['a', 'b', 'c']
+    captions = ['Letter A', 'Letter B', 'Letter C']
+    section = 'ABCs'
+    comments = ['First letter of the alphabet.',
+                'Second letter of the alphabet',
+                'Third letter of the alphabet']
+    assert_raises(ValueError, report._validate_input, items, captions[:-1],
+                  section, comments=None)
+    assert_raises(ValueError, report._validate_input, items, captions, section,
+                  comments=comments[:-1])
+    values = report._validate_input(items, captions, section, comments=None)
+    items_new, captions_new, comments_new = values
+    assert_equal(len(comments_new), len(items))
+
+
 run_tests_if_main()

pip install -e .[dev]
parse_log_pytest
requirements.txt
numpy>=1.16.0 pandas>=1.0.0 scikit-learn h5py pysurfer nose nose-timer pytest
apt-get update apt-get install -y gcc
3.7
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
apptools==5.2.1
certifi @ file:///croot/certifi_1671487769961/work/certifi
configobj==5.0.9
cycler==0.11.0
envisage==7.0.3
exceptiongroup==1.2.2
fonttools==4.38.0
h5py==3.8.0
importlib-metadata==6.7.0
importlib-resources==5.12.0
iniconfig==2.0.0
joblib==1.3.2
kiwisolver==1.4.5
matplotlib==3.5.3
mayavi==4.8.1
-e git+https://github.com/mne-tools/mne-python.git@0bf2f433842c26436fc8f1ee168dfa49b07c45c3#egg=mne
nibabel==4.0.2
nose==1.3.7
nose-timer==1.0.1
numpy==1.21.6
packaging==24.0
pandas==1.3.5
Pillow==9.5.0
pluggy==1.2.0
pyface==8.0.0
Pygments==2.17.2
pyparsing==3.1.4
pysurfer==0.11.2
pytest==7.4.4
python-dateutil==2.9.0.post0
pytz==2025.2
scikit-learn==1.0.2
scipy==1.7.3
six==1.17.0
threadpoolctl==3.1.0
tomli==2.0.1
traits==6.4.3
traitsui==8.0.0
typing_extensions==4.7.1
vtk==9.3.1
zipp==3.15.0

name: mne-python
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - apptools==5.2.1
      - configobj==5.0.9
      - cycler==0.11.0
      - envisage==7.0.3
      - exceptiongroup==1.2.2
      - fonttools==4.38.0
      - h5py==3.8.0
      - importlib-metadata==6.7.0
      - importlib-resources==5.12.0
      - iniconfig==2.0.0
      - joblib==1.3.2
      - kiwisolver==1.4.5
      - matplotlib==3.5.3
      - mayavi==4.8.1
      - nibabel==4.0.2
      - nose==1.3.7
      - nose-timer==1.0.1
      - numpy==1.21.6
      - packaging==24.0
      - pandas==1.3.5
      - pillow==9.5.0
      - pluggy==1.2.0
      - pyface==8.0.0
      - pygments==2.17.2
      - pyparsing==3.1.4
      - pysurfer==0.11.2
      - pytest==7.4.4
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - scikit-learn==1.0.2
      - scipy==1.7.3
      - six==1.17.0
      - threadpoolctl==3.1.0
      - tomli==2.0.1
      - traits==6.4.3
      - traitsui==8.0.0
      - typing-extensions==4.7.1
      - vtk==9.3.1
      - zipp==3.15.0
prefix: /opt/conda/envs/mne-python

mne/tests/test_report.py::test_validate_input
mne/report.py
mne/report.py