Open Bug 1149826 Opened 7 years ago Updated 23 days ago

Mac "text replacement" feature does not work in forms


(Core :: DOM: Editor, defect)

Not set



Tracking Status
firefox40 --- affected


(Reporter: jruderman, Assigned: m_kato)


(Depends on 1 open bug, Blocks 1 open bug)


(Keywords: parity-chrome, parity-safari, Whiteboard: [mac:integration])


(1 file, 1 obsolete file)

1. Verify your settings [System Preferences > Keyboard > Text]
2. Focus a textbox in Firefox
3. Type "omw "

Expected: replace "omw " with "On my way! "

This makes it hard to repeatedly enter long or difficult-to-type things. For example, recommends using this feature in order to enter ¯\_(ツ)_/¯ without having to use the clipboard each time.
I can confirm this unexpected and inconsistent (with regard to the overall OS user experience) behavior. I don't want to call it a bug yet, as I don't know if maybe it's by design.

Moreover, not only Forms (HTML input fields), but also text input fields of the Firefox application itself are affected (e.g. bookmarks, or the URL address bar). The behavior is reproducible and can be tested.

Test Preparation:
 Go to "System Preferences → Keyboard → Text". Define a substitution, e.g. "EURO" (the string) → € (the currency symbol). Quit System Preferences.
Test Procedure:
 In Firefox, open "Bookmarks → Show All Bookmarks". Chose an arbitrary bookmark, or create a new one. In the "Name" field, enter "EURO", followed by a blank to trigger the text substitution.
Expected result:
 The string is being replaced with the currency symbol.
Actual result:
 The string is not being replaced with the currency symbol.
 Identical behavior if the string is entered into the field "Tags"
 Identical behavior if the string is entered into the Address Bar

Counter test:
 In Safari, open "Bookmarks → Edit Bookmarks". Select an arbitrary bookmark, or create a new one.
 Right-click on the bookmark, select "Rename" from the context menu. Enter the string "EURO" in the input field, followed by a blank to trigger the text substitution.
Expected result:
 The string is being replaced with the currency symbol.
Actual result:
 The string is being replaced with the currency symbol.
 Identical behavior if the string is entered into the bookmark manager window's Search Bar ("Search or enter website name").
 Identical behavior if the string is entered into Safari's Browser Address Bar.


OS X 10.10.4 (14E46)  Kernel Version:	Darwin 14.4.0

Firefox 39.0 about:buildconfig
Build Machine bld-lion-r5-061
Source Built from
Build platform target x86_64-apple-darwin11.2.0
Build tools Compiler 	Version 	Compiler flags
/usr/local/bin/ccache /builds/slave/rel-m-rel-m64_bld-000000000000/build/clang/bin/clang -arch x86_64 	3.3.0 	-Qunused-arguments -Wall -Wdeclaration-after-statement -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Werror=char-subscripts -Werror=comment -Werror=endif-labels -Werror=enum-compare -Werror=ignored-qualifiers -Werror=int-to-pointer-cast -Werror=multichar -Werror=nonnull -Werror=pointer-arith -Werror=pointer-sign -Werror=return-type -Werror=sequence-point -Werror=trigraphs -Werror=unknown-pragmas -Werror=non-literal-null-conversion -Wno-unused -Wno-error=uninitialized -Wno-error=deprecated-declarations -isysroot /Developer/SDKs/MacOSX10.7.sdk -std=gnu99 -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pthread -DNO_X11 -pipe
/usr/local/bin/ccache /builds/slave/rel-m-rel-m64_bld-000000000000/build/clang/bin/clang++ -arch x86_64 	3.3.0 	-Qunused-arguments -Qunused-arguments -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Werror=endif-labels -Werror=int-to-pointer-cast -Werror=missing-braces -Werror=parentheses -Werror=pointer-arith -Werror=return-type -Werror=sequence-point -Werror=switch -Werror=trigraphs -Werror=type-limits -Werror=unused-label -Werror=non-literal-null-conversion -Wno-invalid-offsetof -Wno-c++0x-extensions -Wno-extended-offsetof -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-error=uninitialized -Wno-error=deprecated-declarations -isysroot /Developer/SDKs/MacOSX10.7.sdk -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNO_X11 -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer
Configure arguments

--with-macos-sdk=/Developer/SDKs/MacOSX10.7.sdk --enable-crashreporter --enable-release --with-ccache --enable-application=browser --enable-update-channel=release --enable-update-packaging --with-google-api-keyfile=/builds/ --with-google-oauth-api-keyfile=/builds/google-oauth-api.key --with-mozilla-api-keyfile=/builds/mozilla-desktop-geoloc-api.key --enable-warnings-as-errors --enable-official-branding --target=x86_64-apple-darwin11.2.0 --with-unify-dist=../i386/dist
I have this exact same use case of frequently needing to type ¯\_(ツ)_/¯.  This bug is a real burden on my productivity.
Depends on: 86886
Duplicate of this bug: 1471149
Duplicate of this bug: 1472854

This would be a great improvement - it's one of the few things that I miss from Safari. Chrome recently implemented this, though it hasn't made it to stable yet. Their main bug for this issue is #42434; this commit contains their initial implementation of the feature.

Duplicate of this bug: 1595120

This would seem like an old bug. Sure hope it gets some new love and attenthion.

Just to give some insight into why this functionality is valuable—I use it heavily in order to type special characters. For instance, I find myself wanting to type "→" a lot, so I set up a keyboard shortcut in macOS's System Preferences to replace instances of "==>" with "→". This is much faster than using the special character picker.

I could use a Firefox extension, but then those shortcuts would only work in Firefox and not other Mac apps—I'd have to manually keep the two in sync. I really miss having working text replacement in Safari.

hey with all respect and gratitude for the software i've consistently used longest so far across OSes, I'm surprised that text replacement hasn't been implemented on macOS since five years. also to pick up on jonathan's post above: I can't recall how many times ive used the OS-search function to bring up text files containing a single string like an account # only to cmd+a cmd+c cmd+q and alt+tab back to firefox. just typing "myiban" into an form would be so much more straightforward. i hope this bug gains some traction and thanks everyone for your work!

See Also: → 1653175

Like others here, this is one of the features I miss most from Safari (after playback controls were implemented, thanks for that). I use text replacements from all sorts of things ("g@@" fills my gmail, I have special characters mapped such as "&shift;" => ⇧ for writing technical docs, "&dis;" => ಠ_ಠ). This feels like one of the last remaining features for FireFox to appear fully integrated with macOS (in my book at least).

Also expected this to work and came here to find out that it is not and that I am not the bug. :)

+1, one of the only things holding Firefox from being my daily driver. Please please please implement this feature. Made an account just to say this.

Markus, should this be tracked somewhere for the ongoing macOS effort?

Flags: needinfo?(mstange.moz)

I want to use Firefox, but I can't. Because I have many shortcuts that I use every day. Unfortunately, this is the only thing that blocks me.

I also want to add my voice to those saying that this is kind of a show-stopper.

Any power-user who uses a lot of system-wide text replacements expects them to work everywhere, and Firefox not allowing them just feels broken. There's no good reason for it.

I would love it if this was fixed. Thank you.

Attached file WIP: Bug 1149826 - WIP (obsolete) —

Text substitution is one of macOS features to replace text by system settings (System Preferences - Language & Text - Text).

Also, quote substitution and dash substitution are disabled by default since Chrome and Safari are disabled.

Attachment #9228950 - Attachment is obsolete: true
Assignee: nobody → m_kato
Attachment #9229277 - Attachment description: WIP: Bug 1149826 - WIP: Support Text substitution on macOS. → Bug 1149826 - Support Text substitution on macOS. r=masayuki
Flags: needinfo?(mstange.moz)
Whiteboard: [mac:integration]
Blocks: 1725806

Writing in to add that just like several others here, I'd also very much like this feature to work in Firefox. It's the only blocker keeping me from using Firefox as my default browser.

You need to log in before you can comment on or make changes to this bug.