Skip to content

[BUG] Space after a TagExtension is lost if the tag has no text #1498

@North101

Description

@North101

Describe the bug:
Space after a TagExtension is lost if the tag has no text.

HTML to reproduce the issue:

quick <icon icon="quick"></icon> quick

produces:
quick quickquick

quick <icon icon="quick">test</icon> quick

produces:
quick quick quick

Html widget configuration:

class App extends StatelessWidget {
  const App({
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return Html(
      data: 'quick <icon icon="quick"></icon> quick',
      extensions: [iconTest],
    );
  }
}

final iconTest = TagExtension.inline(
  tagsToExtend: {'icon'},
  builder: (context) {
    final icon = context.attributes['icon'];
    return TextSpan(text: icon);
  },
);

Expected behavior:

quick quick quick

Device details and Flutter/Dart/flutter_html versions:

Flutter 3.37.0-0.1.pre • channel beta • https://github.com/flutter/flutter.git
Dart SDK version: 3.10.0-162.1.beta (beta) (Mon Sep 1 23:24:50 2025 -0700) on "macos_arm64"
flutter_html: 3.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions