diff --git a/src/jsonspec/validators/draft04.py b/src/jsonspec/validators/draft04.py
index adb6ee9..6d2fc9c 100644
--- a/src/jsonspec/validators/draft04.py
+++ b/src/jsonspec/validators/draft04.py
@@ -379,8 +379,8 @@ class Draft04Validator(Validator):
         for key, dependencies in self.attrs.get('dependencies', {}).items():
             if key in obj:
                 if isinstance(dependencies, sequence_types):
-                    for dep in set(dependencies) - set(obj.keys()):
-                        self.fail('Missing property', obj, pointer)
+                    for name in set(dependencies) - set(obj.keys()):
+                        self.fail('Missing property', obj, pointer_join(pointer, name))  # noqa
                 else:
                     dependencies(obj)
         return obj
@@ -596,7 +596,8 @@ class Draft04Validator(Validator):
             return obj
 
         if additionals is False:
-            self.fail('Forbidden additional properties', obj, pointer)
+            for name in pending:
+                self.fail('Forbidden property', obj, pointer_join(pointer, name))  # noqa
             return obj
 
         validator = additionals
@@ -609,7 +610,7 @@ class Draft04Validator(Validator):
         if 'required' in self.attrs:
             for name in self.attrs['required']:
                 if name not in obj:
-                    self.fail('Missing property', obj, pointer)
+                    self.fail('Missing property', obj, pointer_join(pointer, name))  # noqa
         return obj
 
     def validate_type(self, obj, pointer=None):

Add details to Missing Property error
Please consider the patch below.  In reporting a missing property during validation, this include the name of the property in the ValidationError's reason.

(Sorry for the inline code. I haven't figured out how to properly submit a patch. The github's issues editor won't let me attach a *.patch file to this post, and other options I tried get rejected because I don't have permission to contribute.)

```
From 42c4a75835ccb98907c75b7611f550774e3e245f Mon Sep 17 00:00:00 2001
From: Greg Bullock <greg@nwra.com>
Date: Wed, 20 Apr 2016 15:30:37 -0700
Subject: [PATCH] Add details to Missing Property error

In reporting a missing property during validation, include the name of
the property in the ValidationError's reason.

---
 src/jsonspec/validators/draft04.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/jsonspec/validators/draft04.py b/src/jsonspec/validators/draft04.py
index adb6ee9..f6d67bb 100644
--- a/src/jsonspec/validators/draft04.py
+++ b/src/jsonspec/validators/draft04.py
@@ -380,7 +380,7 @@ class Draft04Validator(Validator):
             if key in obj:
                 if isinstance(dependencies, sequence_types):
                     for dep in set(dependencies) - set(obj.keys()):
-                        self.fail('Missing property', obj, pointer)
+                        self.fail('Missing property "{}"'.format(dep), obj, pointer)
                 else:
                     dependencies(obj)
         return obj
@@ -609,7 +609,7 @@ class Draft04Validator(Validator):
         if 'required' in self.attrs:
             for name in self.attrs['required']:
                 if name not in obj:
-                    self.fail('Missing property', obj, pointer)
+                    self.fail('Missing property "{}"'.format(name), obj, pointer)
         return obj

     def validate_type(self, obj, pointer=None):
-- 
2.7.1.windows.2


```

diff --git a/tests/test_errors2.py b/tests/test_errors2.py
index bf5b4f4..0c121e5 100644
--- a/tests/test_errors2.py
+++ b/tests/test_errors2.py
@@ -41,21 +41,23 @@ scenarii = [
      {'#/foo': {'Wrong type'}},
      'integer required'),
     ({'bar': 'foo'},
-     {'#/': {"Missing property"}},
-     'string required'),
+     {'#/foo': {"Missing property"}},
+     'missing required'),
     ({'foo': 12, 'baz': None},
-     {'#/': {"Missing property"}},
-     'miss a dependencies'),
+     {'#/bar': {"Missing property"}},
+     'missing dependencies'),
     ({'foo': 42},
      {'#/foo': {"Exceeded maximum"}},
      'too big'),
     ({'foo': 12, 'baz': None, 'quux': True},
-     {'#/': {'Forbidden additional properties', 'Missing property'}},
-     'too big'),
+     {'#/quux': {'Forbidden property'},
+      '#/bar': {'Missing property'}},
+     'missing dependencies, forbidden additional'),
     ({'foo': 42, 'baz': None, 'quux': True},
-     {'#/': {'Forbidden additional properties', 'Missing property'},
+     {'#/quux': {'Forbidden property'},
+      '#/bar': {'Missing property'},
       '#/foo': {'Exceeded maximum'}},
-     'too big'),
+     'missing dependencies, forbidden additional, too big'),
 ]
 
 

pip install -e .[cli,ip]
parse_log_pytest
requirements.txt
pytest
3.9
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
exceptiongroup==1.2.2
iniconfig==2.1.0
-e git+https://github.com/johnnoone/json-spec.git@5ff563d9450d33531b0a45a570d57756b355d618#egg=json_spec
packaging==24.2
pluggy==1.5.0
pytest==8.3.5
six==1.17.0
termcolor==3.0.0
tomli==2.2.1

name: json-spec
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
  - 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=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - exceptiongroup==1.2.2
      - iniconfig==2.1.0
      - packaging==24.2
      - pluggy==1.5.0
      - pytest==8.3.5
      - six==1.17.0
      - termcolor==3.0.0
      - tomli==2.2.1
prefix: /opt/conda/envs/json-spec

tests/test_errors2.py::test_errors_object[document2-expected2-missing tests/test_errors2.py::test_errors_object[document3-expected3-missing tests/test_errors2.py::test_errors_object[document5-expected5-missing tests/test_errors2.py::test_errors_object[document6-expected6-missing
tests/test_errors2.py::test_errors_object[foo-expected0-object tests/test_errors2.py::test_errors_object[document1-expected1-integer tests/test_errors2.py::test_errors_object[document4-expected4-too tests/test_errors2.py::test_errors_array[foo-expected0-array tests/test_errors2.py::test_errors_array[document1-expected1-multiple tests/test_errors2.py::test_errors_array[document2-expected2-string tests/test_errors2.py::test_errors_array[document3-expected3-string
src/jsonspec/validators/draft04.py
src/jsonspec/validators/draft04.py