The relevant command is, as 'always' \addcontentsline
.
figure
and table
captions are written to a file whose extension is stored in \ext@figure
or \ext@table
.
In \@caption
(the internal processor macro actually) we find:
\long\def\@caption#1[#2]#3{%
\par
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
\begingroup
\@parboxrestore
\if@minipage
\@setminipage
\fi
\normalsize
\@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
\endgroup}
The first parameter of \@caption
is the name of the float, i.e. figure
or table
(usually). This can be used and patched, grabbing the table
captions and redirect
them to the file with extension \ext@figure
.
\documentclass{book}
\usepackage{caption}
\usepackage{xstring}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\@caption}{%
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
}{%
\IfStrEq{#1}{table}{% Filter `table` out
\addcontentsline{\csname ext@figure\endcsname}{table}%
{\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
}{%
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
}%
}{\typeout{Patch success}}{}
\makeatother
\renewcommand{\listfigurename}{List of Figures and Tables}
\begin{document}
\listoffigures
\begin{figure}
\caption{first figure}
\end{figure}
\begin{figure}
\caption{Another first figure}
\end{figure}
\begin{table}
\caption{first table}
\end{table}
\chapter{Another chapter}
\begin{table}
\caption{Yet another table}
\end{table}
\end{document}

A small update after yo'
correctly noticed that it's unclear whether it's a table or figure in the LOFT:
\documentclass{book}
\usepackage{caption}
\usepackage{xstring}
\usepackage{tocloft}
\usepackage{xpatch}
\addtolength{\cftfignumwidth}{30pt}
\addtolength{\cfttabnumwidth}{30pt}
% Prepend the tab or fig number with a `\makebox` (for equal width) and put `Tab.` or `Fig.` in there. Change the names at will
\renewcommand{\cfttabpresnum}{\makebox[30pt][l]{Tab.}}
\renewcommand{\cftfigpresnum}{\makebox[30pt][l]{Fig.}}
\makeatletter
\xpatchcmd{\@caption}{%
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}%
}{%
\IfStrEq{#1}{table}{%
\addcontentsline{\csname ext@figure\endcsname}{table}%
{\protect\numberline{\csname the#1\endcsname\hfill\hspace{1em}}{\ignorespaces #2}}%
}{%
\IfStrEq{#1}{figure}{%
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname the#1\endcsname\hfill\hspace{1em}}{\ignorespaces #2}}%
}{%
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname the#1\endcsname}{ \ignorespaces #2}}%
}
}%
}{\typeout{Patch success}}{}
\makeatother
\renewcommand{\listfigurename}{List of Figures and Tables}
\begin{document}
\listoffigures
\begin{figure}
\caption{first figure}
\end{figure}
\begin{figure}
\caption{Another first figure}
\end{figure}
\begin{table}
\caption{first table}
\end{table}
\chapter{Another chapter}
\begin{table}
\caption{Yet another table}
\end{table}
\section{First section}
\subsection{First subsection}
\subsubsection{First subsubsection}
\begin{table}
\caption{Yet another another table}
\end{table}
\end{document}

\caption
code which uses\addcontentsline{lof}{section}{your caption}
must be changed either to uselof
orlot
then or use a completely new typelft
(list of figures and tables), but regardless, it requires some work to do