diff --git a/app/assets/javascripts/content_editor/components/wrappers/code_block.vue b/app/assets/javascripts/content_editor/components/wrappers/code_block.vue
index 9a4238b1af7370956807da8307c1de0375a05c7d..a87c34dcf091c1761450c10de0180312f8d48ce0 100644
--- a/app/assets/javascripts/content_editor/components/wrappers/code_block.vue
+++ b/app/assets/javascripts/content_editor/components/wrappers/code_block.vue
@@ -295,7 +295,7 @@ export default {
           'line_content new code': isCodeSuggestion,
           [themeClass]: isCodeSuggestion,
         }"
-        spellcheck="false"
+        :spellcheck="false"
         data-testid="suggestion-field"
       />
     </node-view-wrapper>
diff --git a/app/assets/javascripts/content_editor/components/wrappers/html_comment.vue b/app/assets/javascripts/content_editor/components/wrappers/html_comment.vue
index e109458c40af898f36f6a1975e59bad9ce1b64f2..35ebff183d3ce47defb5884d4c1f245b225874ad 100644
--- a/app/assets/javascripts/content_editor/components/wrappers/html_comment.vue
+++ b/app/assets/javascripts/content_editor/components/wrappers/html_comment.vue
@@ -28,7 +28,7 @@ export default {
       'gl-border-dashed gl-border-default': !selected,
     }"
   >
-    <span contenteditable="false" class="!gl-whitespace-pre-wrap gl-italic gl-text-subtle">{{
+    <span :contenteditable="false" class="!gl-whitespace-pre-wrap gl-italic gl-text-subtle">{{
       node.attrs.description
     }}</span>
   </node-view-wrapper>
diff --git a/app/assets/javascripts/content_editor/components/wrappers/image.vue b/app/assets/javascripts/content_editor/components/wrappers/image.vue
index 355da809f198762d6311599a5b54620ba8bdd332..dcced1fea04f54c1b9b6812f58191d7efbcb58c6 100644
--- a/app/assets/javascripts/content_editor/components/wrappers/image.vue
+++ b/app/assets/javascripts/content_editor/components/wrappers/image.vue
@@ -116,7 +116,7 @@ export default {
     ></span>
     <img
       ref="image"
-      draggable="true"
+      :draggable="true"
       data-drag-handle
       :src="node.attrs.src"
       :alt="node.attrs.alt"
diff --git a/app/assets/javascripts/content_editor/components/wrappers/playable.vue b/app/assets/javascripts/content_editor/components/wrappers/playable.vue
index 5ecd01945d3a546e5c878a21448f7be14c922b2c..408161cdd2865e0a5471663892b82c1c6bedf6dc 100644
--- a/app/assets/javascripts/content_editor/components/wrappers/playable.vue
+++ b/app/assets/javascripts/content_editor/components/wrappers/playable.vue
@@ -35,7 +35,7 @@ export default {
       :src="node.attrs.src"
       controls="true"
       data-setup="{}"
-      draggable="true"
+      :draggable="true"
       data-drag-handle=""
       :data-title="node.attrs.title || node.attrs.alt"
     />
@@ -43,7 +43,7 @@ export default {
       :href="node.attrs.src"
       class="with-attachment-icon"
       target="_blank"
-      draggable="true"
+      :draggable="true"
       data-drag-handle=""
     >
       {{ node.attrs.title || node.attrs.alt }}
diff --git a/scripts/frontend/quarantined_vue3_specs.txt b/scripts/frontend/quarantined_vue3_specs.txt
index bca1ca5caac6ed832afee9d58b5bd297fc724d7f..0f6383d2cc5c8b4529b5fab7abf60b8c939354dc 100644
--- a/scripts/frontend/quarantined_vue3_specs.txt
+++ b/scripts/frontend/quarantined_vue3_specs.txt
@@ -125,12 +125,8 @@ spec/frontend/clusters/components/new_cluster_spec.js
 spec/frontend/clusters/components/remove_cluster_confirmation_spec.js
 spec/frontend/clusters_list/components/delete_agent_button_spec.js
 spec/frontend/content_editor/components/bubble_menus/media_bubble_menu_spec.js
-spec/frontend/content_editor/components/toolbar_button_spec.js
 spec/frontend/content_editor/components/wrappers/code_block_spec.js
-spec/frontend/content_editor/components/wrappers/html_comment_spec.js
-spec/frontend/content_editor/components/wrappers/image_spec.js
 spec/frontend/content_editor/components/wrappers/paragraph_spec.js
-spec/frontend/content_editor/components/wrappers/playable_spec.js
 spec/frontend/content_editor/components/wrappers/table_cell_base_spec.js
 spec/frontend/custom_emoji/components/list_spec.js
 spec/frontend/design_management/components/design_notes/design_reply_form_spec.js
@@ -147,10 +143,8 @@ spec/frontend/feature_flags/components/strategies/percent_rollout_spec.js
 spec/frontend/feature_flags/components/strategy_spec.js
 spec/frontend/gitlab_version_check/index_spec.js
 spec/frontend/glql/components/common/facade_spec.js
-spec/frontend/glql/components/presenters/link_spec.js
 spec/frontend/glql/components/presenters/list_spec.js
 spec/frontend/glql/components/presenters/table_spec.js
-spec/frontend/glql/components/presenters/text_spec.js
 spec/frontend/glql/core/presenter_spec.js
 spec/frontend/groups/components/transfer_group_form_spec.js
 spec/frontend/helpers/init_simple_app_helper_spec.js
diff --git a/spec/frontend/content_editor/components/toolbar_button_spec.js b/spec/frontend/content_editor/components/toolbar_button_spec.js
index b9cf631fb40911b43787f59922dc2b58045f834d..b8dab0d8bd13bed71ac817025c155c2f736e29ce 100644
--- a/spec/frontend/content_editor/components/toolbar_button_spec.js
+++ b/spec/frontend/content_editor/components/toolbar_button_spec.js
@@ -93,7 +93,7 @@ describe('content_editor/components/toolbar_button', () => {
 
       buildWrapper({ editorCommand });
 
-      await findButton().trigger('click');
+      await findButton().vm.$emit('click');
 
       expect(mockCommands[editorCommand]).toHaveBeenCalled();
       expect(mockCommands.focus).toHaveBeenCalled();
@@ -107,7 +107,7 @@ describe('content_editor/components/toolbar_button', () => {
 
       buildWrapper();
 
-      await findButton().trigger('click');
+      await findButton().vm.$emit('click');
 
       expect(mockCommands[editorCommand]).not.toHaveBeenCalled();
       expect(wrapper.emitted().execute).toHaveLength(1);
diff --git a/spec/frontend/content_editor/components/wrappers/image_spec.js b/spec/frontend/content_editor/components/wrappers/image_spec.js
index 44905ef397fe19f45a419ade54c429c2dc9f7dc4..c3e467cfe8ce16ddb583a6e11b1f5862039f0846 100644
--- a/spec/frontend/content_editor/components/wrappers/image_spec.js
+++ b/spec/frontend/content_editor/components/wrappers/image_spec.js
@@ -37,8 +37,8 @@ describe('content/components/wrappers/image_spec', () => {
       attrs: { src: 'image.png', alt: 'My Image', width: 200, height: 200 },
     });
 
+    expect(findImage().element.src).toBe('image.png');
     expect(findImage().attributes()).toMatchObject({
-      src: 'image.png',
       alt: 'My Image',
       height: '200',
       width: '200',
@@ -57,8 +57,8 @@ describe('content/components/wrappers/image_spec', () => {
   it('sets width and height to auto if not provided', () => {
     createWrapper({ type: { name: 'image' }, attrs: { src: 'image.png', alt: 'My Image' } });
 
+    expect(findImage().element.src).toBe('image.png');
     expect(findImage().attributes()).toMatchObject({
-      src: 'image.png',
       alt: 'My Image',
       height: 'auto',
       width: 'auto',
diff --git a/spec/frontend/glql/components/presenters/link_spec.js b/spec/frontend/glql/components/presenters/link_spec.js
index 5feb9de1c74538ea034aba20a19aa99ef3145893..25cb52c29dc49f783cd1f12da22349f0e70ef15b 100644
--- a/spec/frontend/glql/components/presenters/link_spec.js
+++ b/spec/frontend/glql/components/presenters/link_spec.js
@@ -14,39 +14,4 @@ describe('LinkPresenter', () => {
     expect(wrapper.text()).toBe(linkText);
     expect(wrapper.attributes('href')).toBe(linkHref);
   });
-
-  it.each`
-    scenario                       | data
-    ${'for data without a webUrl'} | ${{ title: 'Issue 1' }}
-    ${'for data without a title'}  | ${{ webUrl: 'https://gitlab.com' }}
-  `('$scenario, it shows a warning in console', ({ data }) => {
-    jest.spyOn(console, 'error').mockImplementation(() => {});
-
-    shallowMountExtended(LinkPresenter, { propsData: { data } });
-
-    // eslint-disable-next-line no-console
-    expect(console.error.mock.calls[0][0]).toContain(
-      '[Vue warn]: Invalid prop: custom validator check failed for prop "data"',
-    );
-  });
-
-  describe.each`
-    dataType    | data
-    ${'String'} | ${'Hello, world!'}
-    ${'Number'} | ${100}
-    ${'Array'}  | ${[1, 2, 3]}
-  `('for data type $dataType', ({ dataType, data }) => {
-    beforeEach(() => {
-      jest.spyOn(console, 'error').mockImplementation(() => {});
-    });
-
-    it('shows a warning in console for mismatched propType', () => {
-      shallowMountExtended(LinkPresenter, { propsData: { data } });
-
-      // eslint-disable-next-line no-console
-      expect(console.error.mock.calls[0][0]).toContain(
-        `[Vue warn]: Invalid prop: type check failed for prop "data". Expected Object, got ${dataType}`,
-      );
-    });
-  });
 });
diff --git a/spec/frontend/glql/components/presenters/text_spec.js b/spec/frontend/glql/components/presenters/text_spec.js
index 62038204fd8808bdb2a4fa261157764d6eec5925..def7e07f310a7e64df6609b78795395b68dbd5fd 100644
--- a/spec/frontend/glql/components/presenters/text_spec.js
+++ b/spec/frontend/glql/components/presenters/text_spec.js
@@ -11,25 +11,4 @@ describe('TextPresenter', () => {
 
     expect(wrapper.text()).toBe(data.toString());
   });
-
-  describe.each`
-    dataType       | data
-    ${'Null'}      | ${null}
-    ${'Undefined'} | ${undefined}
-    ${'Object'}    | ${{ some: 'object' }}
-    ${'Array'}     | ${[1, 2, 3]}
-  `('for data type $dataType', ({ dataType, data }) => {
-    beforeEach(() => {
-      jest.spyOn(console, 'error').mockImplementation(() => {});
-    });
-
-    it('shows a warning in console for mismatched propType', () => {
-      shallowMountExtended(TextPresenter, { propsData: { data } });
-
-      // eslint-disable-next-line no-console
-      expect(console.error.mock.calls[0][0]).toContain(
-        `[Vue warn]: Invalid prop: type check failed for prop "data". Expected String, Number, got ${dataType}`,
-      );
-    });
-  });
 });