Skip to content

Default TextField styles result in cursor overlapping labelText #141354

@parlough

Description

@parlough

Last update: #141354 (comment)


Steps to reproduce

  1. Have M3 enabled and a non-outlined TextField with a labelText specified
  2. Run the app (I tried macOS, CanvasKit, and skwasm)
  3. Enter the text field and start typing
  4. Notice the cursor overlaps the label text

Expected results

When typing in a TextField with labelText, the default styling won't result in the cursor overlapping the label text.

The M3 spec showcases the cursor as much thinner and shorter, preventing this from occurring.

Actual results

The cursor overlaps the label text, making it potentially harder to read.

Code sample

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: SizedBox(
            width: 300,
            child: TextField(
              decoration: InputDecoration(
                labelText: 'Label text',
                filled: true,
              ),
            ),
          ),
        ),
      ),
    );
  }
}

Screenshots

Screenshot TextField with cursor overlapping label text

Flutter version info

Version
Flutter 3.19.0-3.0.pre.43 • channel main • https://github.com/flutter/flutter
Framework • revision f961fdf2ba (4 hours ago) • 2024-01-10 17:37:07 -0500
Engine • revision a045134c91
Tools • Dart 3.4.0 (build 3.4.0-14.0.dev) • DevTools 2.31.0

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: text inputEntering text in a text field or keyboard related problemsf: material designflutter/packages/flutter/material repository.found in release: 3.16Found to occur in 3.16found in release: 3.18Found to occur in 3.18frameworkflutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionteam-designOwned by Design Languages teamtriaged-designTriaged by Design Languages team

Type

No type

Projects

Status

Done (PR merged)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions